{"version":3,"sources":["../src/clients/protos/talk-api_pb_service.js","../src/clients/protos/assistant-api_pb_service.js","../src/clients/protos/web-api_pb.js","../src/clients/protos/web-api_pb_service.js","../src/clients/protos/knowledge-api_pb.js","../src/clients/protos/knowledge-api_pb_service.js","../src/clients/protos/marketplace-api_pb.js","../src/clients/protos/marketplace-api_pb_service.js","../src/clients/protos/document-api_pb.js","../src/clients/protos/document-api_pb_service.js","../src/clients/protos/vault-api_pb.js","../src/clients/protos/vault-api_pb_service.js","../src/clients/protos/endpoint-api_pb.js","../src/clients/protos/endpoint-api_pb_service.js","../src/clients/protos/audit-logging-api_pb.js","../src/clients/protos/audit-logging-api_pb_service.js","../src/clients/protos/assistant-deployment_pb_service.js","../src/clients/protos/connect-api_pb.js","../src/clients/protos/connect-api_pb_service.js","../src/clients/protos/provider-api_pb.js","../src/clients/protos/provider-api_pb_service.js","../src/clients/protos/invoker-api_pb.js","../src/clients/protos/invoker-api_pb_service.js","../src/clients/protos/sendgrid-api_pb.js","../src/clients/protos/sendgrid-api_pb_service.js","../src/clients/protos/integration-api_pb.js","../src/clients/protos/integration-api_pb_service.js","../src/hooks/use-message-feedback.ts","../src/hooks/use-conversation-feedback.ts","../src/hooks/use-connect-agent.ts","../src/hooks/use-input-mode-toggle-agent.ts","../src/hooks/use-agent-deployment.ts","../src/devices/device-failure.ts","../src/agents/agent-config.ts","../src/utils/rapida_value.ts","../src/hooks/use-multiband-track-volume.ts","../src/connections/connection-config.ts","../src/configs/index.ts","../src/hooks/use-agent-message.ts","../src/clients/document.ts","../src/clients/marketplace.ts","../src/clients/invoke.ts","../src/clients/auth.ts","../src/clients/provider.ts","../src/clients/connect.ts","../src/clients/organization.ts","../src/clients/activity.ts","../src/clients/endpoint.ts","../src/clients/vault.ts","../src/clients/knowledge.ts","../src/clients/project.ts","../src/index.ts","../src/clients/call.ts"],"sourcesContent":["// package: talk_api\n// file: talk-api.proto\n\nvar talk_api_pb = require(\"./talk-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar TalkService = (function () {\n  function TalkService() {}\n  TalkService.serviceName = \"talk_api.TalkService\";\n  return TalkService;\n}());\n\nTalkService.AssistantTalk = {\n  methodName: \"AssistantTalk\",\n  service: TalkService,\n  requestStream: true,\n  responseStream: true,\n  requestType: talk_api_pb.AssistantMessagingRequest,\n  responseType: talk_api_pb.AssistantMessagingResponse\n};\n\nTalkService.GetAllAssistantConversation = {\n  methodName: \"GetAllAssistantConversation\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllAssistantConversationRequest,\n  responseType: common_pb.GetAllAssistantConversationResponse\n};\n\nTalkService.GetAllConversationMessage = {\n  methodName: \"GetAllConversationMessage\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllConversationMessageRequest,\n  responseType: common_pb.GetAllConversationMessageResponse\n};\n\nTalkService.CreateMessageMetric = {\n  methodName: \"CreateMessageMetric\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateMessageMetricRequest,\n  responseType: talk_api_pb.CreateMessageMetricResponse\n};\n\nTalkService.CreateConversationMetric = {\n  methodName: \"CreateConversationMetric\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateConversationMetricRequest,\n  responseType: talk_api_pb.CreateConversationMetricResponse\n};\n\nTalkService.CreatePhoneCall = {\n  methodName: \"CreatePhoneCall\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreatePhoneCallRequest,\n  responseType: talk_api_pb.CreatePhoneCallResponse\n};\n\nTalkService.CreateBulkPhoneCall = {\n  methodName: \"CreateBulkPhoneCall\",\n  service: TalkService,\n  requestStream: false,\n  responseStream: false,\n  requestType: talk_api_pb.CreateBulkPhoneCallRequest,\n  responseType: talk_api_pb.CreateBulkPhoneCallResponse\n};\n\nexports.TalkService = TalkService;\n\nfunction TalkServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nTalkServiceClient.prototype.assistantTalk = function assistantTalk(metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.client(TalkService.AssistantTalk, {\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport\n  });\n  client.onEnd(function (status, statusMessage, trailers) {\n    listeners.status.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners.end.forEach(function (handler) {\n      handler({ code: status, details: statusMessage, metadata: trailers });\n    });\n    listeners = null;\n  });\n  client.onMessage(function (message) {\n    listeners.data.forEach(function (handler) {\n      handler(message);\n    })\n  });\n  client.start(metadata);\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    write: function (requestMessage) {\n      client.send(requestMessage);\n      return this;\n    },\n    end: function () {\n      client.finishSend();\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.getAllAssistantConversation = function getAllAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.GetAllAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.getAllConversationMessage = function getAllConversationMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.GetAllConversationMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createMessageMetric = function createMessageMetric(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateMessageMetric, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createConversationMetric = function createConversationMetric(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateConversationMetric, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createPhoneCall = function createPhoneCall(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreatePhoneCall, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTalkServiceClient.prototype.createBulkPhoneCall = function createBulkPhoneCall(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TalkService.CreateBulkPhoneCall, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.TalkServiceClient = TalkServiceClient;\n\n","// package: assistant_api\n// file: assistant-api.proto\n\nvar assistant_api_pb = require(\"./assistant-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar assistant_tool_pb = require(\"./assistant-tool_pb\");\nvar assistant_analysis_pb = require(\"./assistant-analysis_pb\");\nvar assistant_webhook_pb = require(\"./assistant-webhook_pb\");\nvar assistant_knowledge_pb = require(\"./assistant-knowledge_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AssistantService = (function () {\n  function AssistantService() {}\n  AssistantService.serviceName = \"assistant_api.AssistantService\";\n  return AssistantService;\n}());\n\nAssistantService.GetAssistant = {\n  methodName: \"GetAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistant = {\n  methodName: \"GetAllAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantRequest,\n  responseType: assistant_api_pb.GetAllAssistantResponse\n};\n\nAssistantService.CreateAssistant = {\n  methodName: \"CreateAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.DeleteAssistant = {\n  methodName: \"DeleteAssistant\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.DeleteAssistantRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistantProviderModel = {\n  methodName: \"GetAllAssistantProviderModel\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantProviderModelRequest,\n  responseType: assistant_api_pb.GetAllAssistantProviderModelResponse\n};\n\nAssistantService.CreateAssistantProviderModel = {\n  methodName: \"CreateAssistantProviderModel\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantProviderModelRequest,\n  responseType: assistant_api_pb.GetAssistantProviderModelResponse\n};\n\nAssistantService.CreateAssistantTag = {\n  methodName: \"CreateAssistantTag\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.CreateAssistantTagRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.UpdateAssistantVersion = {\n  methodName: \"UpdateAssistantVersion\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.UpdateAssistantVersionRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.UpdateAssistantDetail = {\n  methodName: \"UpdateAssistantDetail\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.UpdateAssistantDetailRequest,\n  responseType: assistant_api_pb.GetAssistantResponse\n};\n\nAssistantService.GetAllAssistantMessage = {\n  methodName: \"GetAllAssistantMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllAssistantMessageRequest,\n  responseType: assistant_api_pb.GetAllAssistantMessageResponse\n};\n\nAssistantService.GetAllConversationMessage = {\n  methodName: \"GetAllConversationMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllConversationMessageRequest,\n  responseType: common_pb.GetAllConversationMessageResponse\n};\n\nAssistantService.GetAllMessage = {\n  methodName: \"GetAllMessage\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAllMessageRequest,\n  responseType: assistant_api_pb.GetAllMessageResponse\n};\n\nAssistantService.GetAllAssistantConversation = {\n  methodName: \"GetAllAssistantConversation\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: common_pb.GetAllAssistantConversationRequest,\n  responseType: common_pb.GetAllAssistantConversationResponse\n};\n\nAssistantService.GetAssistantConversation = {\n  methodName: \"GetAssistantConversation\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_api_pb.GetAssistantConversationRequest,\n  responseType: assistant_api_pb.GetAssistantConversationResponse\n};\n\nAssistantService.GetAssistantWebhookLog = {\n  methodName: \"GetAssistantWebhookLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.GetAssistantWebhookLogRequest,\n  responseType: assistant_webhook_pb.GetAssistantWebhookLogResponse\n};\n\nAssistantService.GetAllAssistantWebhookLog = {\n  methodName: \"GetAllAssistantWebhookLog\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.GetAllAssistantWebhookLogRequest,\n  responseType: assistant_webhook_pb.GetAllAssistantWebhookLogResponse\n};\n\nAssistantService.GetAllAssistantWebhook = {\n  methodName: \"GetAllAssistantWebhook\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.GetAllAssistantWebhookRequest,\n  responseType: assistant_webhook_pb.GetAllAssistantWebhookResponse\n};\n\nAssistantService.GetAssistantWebhook = {\n  methodName: \"GetAssistantWebhook\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.GetAssistantWebhookRequest,\n  responseType: assistant_webhook_pb.GetAssistantWebhookResponse\n};\n\nAssistantService.CreateAssistantWebhook = {\n  methodName: \"CreateAssistantWebhook\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.CreateAssistantWebhookRequest,\n  responseType: assistant_webhook_pb.GetAssistantWebhookResponse\n};\n\nAssistantService.UpdateAssistantWebhook = {\n  methodName: \"UpdateAssistantWebhook\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.UpdateAssistantWebhookRequest,\n  responseType: assistant_webhook_pb.GetAssistantWebhookResponse\n};\n\nAssistantService.DeleteAssistantWebhook = {\n  methodName: \"DeleteAssistantWebhook\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_webhook_pb.DeleteAssistantWebhookRequest,\n  responseType: assistant_webhook_pb.GetAssistantWebhookResponse\n};\n\nAssistantService.GetAssistantAnalysis = {\n  methodName: \"GetAssistantAnalysis\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_analysis_pb.GetAssistantAnalysisRequest,\n  responseType: assistant_analysis_pb.GetAssistantAnalysisResponse\n};\n\nAssistantService.UpdateAssistantAnalysis = {\n  methodName: \"UpdateAssistantAnalysis\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_analysis_pb.UpdateAssistantAnalysisRequest,\n  responseType: assistant_analysis_pb.GetAssistantAnalysisResponse\n};\n\nAssistantService.CreateAssistantAnalysis = {\n  methodName: \"CreateAssistantAnalysis\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_analysis_pb.CreateAssistantAnalysisRequest,\n  responseType: assistant_analysis_pb.GetAssistantAnalysisResponse\n};\n\nAssistantService.DeleteAssistantAnalysis = {\n  methodName: \"DeleteAssistantAnalysis\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_analysis_pb.DeleteAssistantAnalysisRequest,\n  responseType: assistant_analysis_pb.GetAssistantAnalysisResponse\n};\n\nAssistantService.GetAllAssistantAnalysis = {\n  methodName: \"GetAllAssistantAnalysis\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_analysis_pb.GetAllAssistantAnalysisRequest,\n  responseType: assistant_analysis_pb.GetAllAssistantAnalysisResponse\n};\n\nAssistantService.CreateAssistantTool = {\n  methodName: \"CreateAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.CreateAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.GetAssistantTool = {\n  methodName: \"GetAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.GetAllAssistantTool = {\n  methodName: \"GetAllAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.GetAllAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAllAssistantToolResponse\n};\n\nAssistantService.DeleteAssistantTool = {\n  methodName: \"DeleteAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.DeleteAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.UpdateAssistantTool = {\n  methodName: \"UpdateAssistantTool\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_tool_pb.UpdateAssistantToolRequest,\n  responseType: assistant_tool_pb.GetAssistantToolResponse\n};\n\nAssistantService.CreateAssistantKnowledge = {\n  methodName: \"CreateAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.CreateAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.GetAssistantKnowledge = {\n  methodName: \"GetAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.GetAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.GetAllAssistantKnowledge = {\n  methodName: \"GetAllAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.GetAllAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAllAssistantKnowledgeResponse\n};\n\nAssistantService.DeleteAssistantKnowledge = {\n  methodName: \"DeleteAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.DeleteAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nAssistantService.UpdateAssistantKnowledge = {\n  methodName: \"UpdateAssistantKnowledge\",\n  service: AssistantService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_knowledge_pb.UpdateAssistantKnowledgeRequest,\n  responseType: assistant_knowledge_pb.GetAssistantKnowledgeResponse\n};\n\nexports.AssistantService = AssistantService;\n\nfunction AssistantServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAssistantServiceClient.prototype.getAssistant = function getAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistant = function getAllAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistant = function createAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistant = function deleteAssistant(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistant, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantProviderModel = function getAllAssistantProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantProviderModel = function createAssistantProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantTag = function createAssistantTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantVersion = function updateAssistantVersion(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantVersion, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantDetail = function updateAssistantDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantMessage = function getAllAssistantMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllConversationMessage = function getAllConversationMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllConversationMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllMessage = function getAllMessage(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllMessage, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantConversation = function getAllAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantConversation = function getAssistantConversation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantConversation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantWebhookLog = function getAssistantWebhookLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantWebhookLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantWebhookLog = function getAllAssistantWebhookLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantWebhookLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantWebhook = function getAllAssistantWebhook(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantWebhook, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantWebhook = function getAssistantWebhook(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantWebhook, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantWebhook = function createAssistantWebhook(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantWebhook, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantWebhook = function updateAssistantWebhook(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantWebhook, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantWebhook = function deleteAssistantWebhook(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantWebhook, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantAnalysis = function getAssistantAnalysis(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantAnalysis, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantAnalysis = function updateAssistantAnalysis(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantAnalysis, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantAnalysis = function createAssistantAnalysis(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantAnalysis, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantAnalysis = function deleteAssistantAnalysis(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantAnalysis, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantAnalysis = function getAllAssistantAnalysis(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantAnalysis, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantTool = function createAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantTool = function getAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantTool = function getAllAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantTool = function deleteAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantTool = function updateAssistantTool(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantTool, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.createAssistantKnowledge = function createAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.CreateAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAssistantKnowledge = function getAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.getAllAssistantKnowledge = function getAllAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.GetAllAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.deleteAssistantKnowledge = function deleteAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.DeleteAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantServiceClient.prototype.updateAssistantKnowledge = function updateAssistantKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantService.UpdateAssistantKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AssistantServiceClient = AssistantServiceClient;\n\n","// source: web-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.web_api.AddUsersToProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.AddUsersToProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.ArchiveProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.ArchiveProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.AuthenticateRequest', null, global);\ngoog.exportSymbol('proto.web_api.AuthenticateResponse', null, global);\ngoog.exportSymbol('proto.web_api.Authentication', null, global);\ngoog.exportSymbol('proto.web_api.AuthenticationError', null, global);\ngoog.exportSymbol('proto.web_api.AuthorizeRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreatePasswordRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreatePasswordResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectCredentialRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectCredentialResponse', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.CreateProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.FeaturePermission', null, global);\ngoog.exportSymbol('proto.web_api.ForgotPasswordRequest', null, global);\ngoog.exportSymbol('proto.web_api.ForgotPasswordResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectCredentialRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectCredentialResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetAllUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetAllUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.GetUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.GetUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.OrganizationError', null, global);\ngoog.exportSymbol('proto.web_api.OrganizationRole', null, global);\ngoog.exportSymbol('proto.web_api.Project', null, global);\ngoog.exportSymbol('proto.web_api.ProjectCredential', null, global);\ngoog.exportSymbol('proto.web_api.ProjectRole', null, global);\ngoog.exportSymbol('proto.web_api.RegisterUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.ScopeAuthorizeRequest', null, global);\ngoog.exportSymbol('proto.web_api.ScopedAuthentication', null, global);\ngoog.exportSymbol('proto.web_api.ScopedAuthenticationResponse', null, global);\ngoog.exportSymbol('proto.web_api.SocialAuthenticationRequest', null, global);\ngoog.exportSymbol('proto.web_api.Token', null, global);\ngoog.exportSymbol('proto.web_api.UpdateBillingInformationRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateBillingInformationRequest.BillingInterval', null, global);\ngoog.exportSymbol('proto.web_api.UpdateOrganizationRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateOrganizationResponse', null, global);\ngoog.exportSymbol('proto.web_api.UpdateProjectRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateProjectResponse', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserRequest', null, global);\ngoog.exportSymbol('proto.web_api.UpdateUserResponse', null, global);\ngoog.exportSymbol('proto.web_api.VerifyTokenRequest', null, global);\ngoog.exportSymbol('proto.web_api.VerifyTokenResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthenticateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthenticateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthenticateRequest.displayName = 'proto.web_api.AuthenticateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.RegisterUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.RegisterUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.RegisterUserRequest.displayName = 'proto.web_api.RegisterUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Token = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.Token, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Token.displayName = 'proto.web_api.Token';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.OrganizationRole = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.OrganizationRole, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.OrganizationRole.displayName = 'proto.web_api.OrganizationRole';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ProjectRole = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ProjectRole, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ProjectRole.displayName = 'proto.web_api.ProjectRole';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.FeaturePermission = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.FeaturePermission, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.FeaturePermission.displayName = 'proto.web_api.FeaturePermission';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Authentication = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.Authentication.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.Authentication, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Authentication.displayName = 'proto.web_api.Authentication';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopedAuthentication = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopedAuthentication, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopedAuthentication.displayName = 'proto.web_api.ScopedAuthentication';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthenticationError = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthenticationError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthenticationError.displayName = 'proto.web_api.AuthenticationError';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthenticateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthenticateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthenticateResponse.displayName = 'proto.web_api.AuthenticateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ForgotPasswordRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ForgotPasswordRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ForgotPasswordRequest.displayName = 'proto.web_api.ForgotPasswordRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ForgotPasswordResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ForgotPasswordResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ForgotPasswordResponse.displayName = 'proto.web_api.ForgotPasswordResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreatePasswordRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreatePasswordRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreatePasswordRequest.displayName = 'proto.web_api.CreatePasswordRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreatePasswordResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreatePasswordResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreatePasswordResponse.displayName = 'proto.web_api.CreatePasswordResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.VerifyTokenRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.VerifyTokenRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.VerifyTokenRequest.displayName = 'proto.web_api.VerifyTokenRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.VerifyTokenResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.VerifyTokenResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.VerifyTokenResponse.displayName = 'proto.web_api.VerifyTokenResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AuthorizeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.AuthorizeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AuthorizeRequest.displayName = 'proto.web_api.AuthorizeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopeAuthorizeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopeAuthorizeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopeAuthorizeRequest.displayName = 'proto.web_api.ScopeAuthorizeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ScopedAuthenticationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ScopedAuthenticationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ScopedAuthenticationResponse.displayName = 'proto.web_api.ScopedAuthenticationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetUserRequest.displayName = 'proto.web_api.GetUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetUserResponse.displayName = 'proto.web_api.GetUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserRequest.displayName = 'proto.web_api.UpdateUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateUserResponse.displayName = 'proto.web_api.UpdateUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.SocialAuthenticationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.SocialAuthenticationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.SocialAuthenticationRequest.displayName = 'proto.web_api.SocialAuthenticationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllUserRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllUserRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllUserRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllUserRequest.displayName = 'proto.web_api.GetAllUserRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllUserResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllUserResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllUserResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllUserResponse.displayName = 'proto.web_api.GetAllUserResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.OrganizationError = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.OrganizationError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.OrganizationError.displayName = 'proto.web_api.OrganizationError';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateOrganizationRequest.displayName = 'proto.web_api.CreateOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateOrganizationRequest.displayName = 'proto.web_api.UpdateOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetOrganizationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetOrganizationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetOrganizationRequest.displayName = 'proto.web_api.GetOrganizationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetOrganizationResponse.displayName = 'proto.web_api.GetOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateOrganizationResponse.displayName = 'proto.web_api.CreateOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateOrganizationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateOrganizationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateOrganizationResponse.displayName = 'proto.web_api.UpdateOrganizationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateBillingInformationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateBillingInformationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateBillingInformationRequest.displayName = 'proto.web_api.UpdateBillingInformationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.Project = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.Project.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.Project, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.Project.displayName = 'proto.web_api.Project';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectRequest.displayName = 'proto.web_api.CreateProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectResponse.displayName = 'proto.web_api.CreateProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateProjectRequest.displayName = 'proto.web_api.UpdateProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.UpdateProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.UpdateProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.UpdateProjectResponse.displayName = 'proto.web_api.UpdateProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetProjectRequest.displayName = 'proto.web_api.GetProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.GetProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetProjectResponse.displayName = 'proto.web_api.GetProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectRequest.displayName = 'proto.web_api.GetAllProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectResponse.displayName = 'proto.web_api.GetAllProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AddUsersToProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.AddUsersToProjectRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.AddUsersToProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AddUsersToProjectRequest.displayName = 'proto.web_api.AddUsersToProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ArchiveProjectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ArchiveProjectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ArchiveProjectRequest.displayName = 'proto.web_api.ArchiveProjectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ArchiveProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ArchiveProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ArchiveProjectResponse.displayName = 'proto.web_api.ArchiveProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.AddUsersToProjectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.AddUsersToProjectResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.AddUsersToProjectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.AddUsersToProjectResponse.displayName = 'proto.web_api.AddUsersToProjectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.ProjectCredential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.ProjectCredential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.ProjectCredential.displayName = 'proto.web_api.ProjectCredential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectCredentialRequest.displayName = 'proto.web_api.CreateProjectCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectCredentialRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectCredentialRequest.displayName = 'proto.web_api.GetAllProjectCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.CreateProjectCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.web_api.CreateProjectCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.CreateProjectCredentialResponse.displayName = 'proto.web_api.CreateProjectCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.web_api.GetAllProjectCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.web_api.GetAllProjectCredentialResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.web_api.GetAllProjectCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.web_api.GetAllProjectCredentialResponse.displayName = 'proto.web_api.GetAllProjectCredentialResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthenticateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthenticateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthenticateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthenticateRequest}\n */\nproto.web_api.AuthenticateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthenticateRequest;\n  return proto.web_api.AuthenticateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthenticateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthenticateRequest}\n */\nproto.web_api.AuthenticateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthenticateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthenticateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthenticateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.AuthenticateRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticateRequest} returns this\n */\nproto.web_api.AuthenticateRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.AuthenticateRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticateRequest} returns this\n */\nproto.web_api.AuthenticateRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.RegisterUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.RegisterUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.RegisterUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.RegisterUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.RegisterUserRequest}\n */\nproto.web_api.RegisterUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.RegisterUserRequest;\n  return proto.web_api.RegisterUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.RegisterUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.RegisterUserRequest}\n */\nproto.web_api.RegisterUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.RegisterUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.RegisterUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.RegisterUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.RegisterUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.web_api.RegisterUserRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.RegisterUserRequest} returns this\n */\nproto.web_api.RegisterUserRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Token.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Token.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Token} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Token.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    tokentype: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    isexpired: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Token}\n */\nproto.web_api.Token.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Token;\n  return proto.web_api.Token.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Token} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Token}\n */\nproto.web_api.Token.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTokentype(value);\n      break;\n    case 4:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsexpired(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Token.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Token.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Token} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Token.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTokentype();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getIsexpired();\n  if (f) {\n    writer.writeBool(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.Token.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.web_api.Token.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string tokenType = 3;\n * @return {string}\n */\nproto.web_api.Token.prototype.getTokentype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setTokentype = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bool isExpired = 4;\n * @return {boolean}\n */\nproto.web_api.Token.prototype.getIsexpired = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.Token} returns this\n */\nproto.web_api.Token.prototype.setIsexpired = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.OrganizationRole.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.OrganizationRole.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.OrganizationRole} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationRole.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    role: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.OrganizationRole}\n */\nproto.web_api.OrganizationRole.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.OrganizationRole;\n  return proto.web_api.OrganizationRole.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.OrganizationRole} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.OrganizationRole}\n */\nproto.web_api.OrganizationRole.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.OrganizationRole.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.OrganizationRole.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.OrganizationRole} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationRole.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 organizationId = 2;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string role = 3;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string organizationName = 4;\n * @return {string}\n */\nproto.web_api.OrganizationRole.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationRole} returns this\n */\nproto.web_api.OrganizationRole.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ProjectRole.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ProjectRole.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ProjectRole} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRole.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    role: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    projectname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.ProjectRole.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ProjectRole;\n  return proto.web_api.ProjectRole.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ProjectRole} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.ProjectRole.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ProjectRole.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ProjectRole.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ProjectRole} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectRole.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getProjectname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string role = 3;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string projectName = 4;\n * @return {string}\n */\nproto.web_api.ProjectRole.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectRole} returns this\n */\nproto.web_api.ProjectRole.prototype.setProjectname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.FeaturePermission.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.FeaturePermission.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.FeaturePermission} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.FeaturePermission.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    feature: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    isenable: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.FeaturePermission.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.FeaturePermission;\n  return proto.web_api.FeaturePermission.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.FeaturePermission} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.FeaturePermission.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFeature(value);\n      break;\n    case 3:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setIsenable(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.FeaturePermission.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.FeaturePermission.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.FeaturePermission} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.FeaturePermission.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getFeature();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getIsenable();\n  if (f) {\n    writer.writeBool(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.FeaturePermission.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string feature = 2;\n * @return {string}\n */\nproto.web_api.FeaturePermission.prototype.getFeature = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setFeature = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool isEnable = 3;\n * @return {boolean}\n */\nproto.web_api.FeaturePermission.prototype.getIsenable = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.FeaturePermission} returns this\n */\nproto.web_api.FeaturePermission.prototype.setIsenable = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.Authentication.repeatedFields_ = [4,5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Authentication.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Authentication.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Authentication} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Authentication.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    user: (f = msg.getUser()) && common_pb.User.toObject(includeInstance, f),\n    token: (f = msg.getToken()) && proto.web_api.Token.toObject(includeInstance, f),\n    organizationrole: (f = msg.getOrganizationrole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    projectrolesList: jspb.Message.toObjectList(msg.getProjectrolesList(),\n    proto.web_api.ProjectRole.toObject, includeInstance),\n    featurepermissionsList: jspb.Message.toObjectList(msg.getFeaturepermissionsList(),\n    proto.web_api.FeaturePermission.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Authentication}\n */\nproto.web_api.Authentication.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Authentication;\n  return proto.web_api.Authentication.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Authentication} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Authentication}\n */\nproto.web_api.Authentication.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUser(value);\n      break;\n    case 2:\n      var value = new proto.web_api.Token;\n      reader.readMessage(value,proto.web_api.Token.deserializeBinaryFromReader);\n      msg.setToken(value);\n      break;\n    case 3:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setOrganizationrole(value);\n      break;\n    case 4:\n      var value = new proto.web_api.ProjectRole;\n      reader.readMessage(value,proto.web_api.ProjectRole.deserializeBinaryFromReader);\n      msg.addProjectroles(value);\n      break;\n    case 5:\n      var value = new proto.web_api.FeaturePermission;\n      reader.readMessage(value,proto.web_api.FeaturePermission.deserializeBinaryFromReader);\n      msg.addFeaturepermissions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Authentication.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Authentication.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Authentication} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Authentication.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUser();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getToken();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.web_api.Token.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrganizationrole();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectrolesList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.web_api.ProjectRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getFeaturepermissionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      proto.web_api.FeaturePermission.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional User user = 1;\n * @return {?proto.User}\n */\nproto.web_api.Authentication.prototype.getUser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 1));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setUser = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearUser = function() {\n  return this.setUser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasUser = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Token token = 2;\n * @return {?proto.web_api.Token}\n */\nproto.web_api.Authentication.prototype.getToken = function() {\n  return /** @type{?proto.web_api.Token} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Token, 2));\n};\n\n\n/**\n * @param {?proto.web_api.Token|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setToken = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearToken = function() {\n  return this.setToken(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasToken = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional OrganizationRole organizationRole = 3;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.Authentication.prototype.getOrganizationrole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 3));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setOrganizationrole = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearOrganizationrole = function() {\n  return this.setOrganizationrole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Authentication.prototype.hasOrganizationrole = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated ProjectRole projectRoles = 4;\n * @return {!Array<!proto.web_api.ProjectRole>}\n */\nproto.web_api.Authentication.prototype.getProjectrolesList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectRole>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectRole, 4));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectRole>} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setProjectrolesList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectRole=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectRole}\n */\nproto.web_api.Authentication.prototype.addProjectroles = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.web_api.ProjectRole, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearProjectrolesList = function() {\n  return this.setProjectrolesList([]);\n};\n\n\n/**\n * repeated FeaturePermission featurePermissions = 5;\n * @return {!Array<!proto.web_api.FeaturePermission>}\n */\nproto.web_api.Authentication.prototype.getFeaturepermissionsList = function() {\n  return /** @type{!Array<!proto.web_api.FeaturePermission>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.FeaturePermission, 5));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.FeaturePermission>} value\n * @return {!proto.web_api.Authentication} returns this\n*/\nproto.web_api.Authentication.prototype.setFeaturepermissionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.web_api.FeaturePermission=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.FeaturePermission}\n */\nproto.web_api.Authentication.prototype.addFeaturepermissions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.web_api.FeaturePermission, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Authentication} returns this\n */\nproto.web_api.Authentication.prototype.clearFeaturepermissionsList = function() {\n  return this.setFeaturepermissionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopedAuthentication.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopedAuthentication.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopedAuthentication} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthentication.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthentication.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopedAuthentication;\n  return proto.web_api.ScopedAuthentication.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopedAuthentication} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthentication.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setOrganizationid(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopedAuthentication.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopedAuthentication.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopedAuthentication} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthentication.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (f !== 0) {\n    writer.writeUint64(\n      2,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 organizationId = 2;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getOrganizationid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {number}\n */\nproto.web_api.ScopedAuthentication.prototype.getProjectid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string status = 4;\n * @return {string}\n */\nproto.web_api.ScopedAuthentication.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopedAuthentication} returns this\n */\nproto.web_api.ScopedAuthentication.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthenticationError.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthenticationError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthenticationError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticationError.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    errorcode: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    errormessage: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    humanmessage: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthenticationError}\n */\nproto.web_api.AuthenticationError.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthenticationError;\n  return proto.web_api.AuthenticationError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthenticationError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthenticationError}\n */\nproto.web_api.AuthenticationError.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setErrorcode(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErrormessage(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHumanmessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthenticationError.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthenticationError.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthenticationError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticationError.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getErrorcode();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getErrormessage();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getHumanmessage();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 errorCode = 1;\n * @return {string}\n */\nproto.web_api.AuthenticationError.prototype.getErrorcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticationError} returns this\n */\nproto.web_api.AuthenticationError.prototype.setErrorcode = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string errorMessage = 2;\n * @return {string}\n */\nproto.web_api.AuthenticationError.prototype.getErrormessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticationError} returns this\n */\nproto.web_api.AuthenticationError.prototype.setErrormessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string humanMessage = 3;\n * @return {string}\n */\nproto.web_api.AuthenticationError.prototype.getHumanmessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AuthenticationError} returns this\n */\nproto.web_api.AuthenticationError.prototype.setHumanmessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthenticateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthenticateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthenticateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Authentication.toObject(includeInstance, f),\n    error: (f = msg.getError()) && proto.web_api.AuthenticationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthenticateResponse}\n */\nproto.web_api.AuthenticateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthenticateResponse;\n  return proto.web_api.AuthenticateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthenticateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthenticateResponse}\n */\nproto.web_api.AuthenticateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Authentication;\n      reader.readMessage(value,proto.web_api.Authentication.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.AuthenticationError;\n      reader.readMessage(value,proto.web_api.AuthenticationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthenticateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthenticateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthenticateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthenticateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Authentication.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.AuthenticationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.AuthenticateResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Authentication data = 3;\n * @return {?proto.web_api.Authentication}\n */\nproto.web_api.AuthenticateResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Authentication} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Authentication, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Authentication|undefined} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n*/\nproto.web_api.AuthenticateResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional AuthenticationError error = 4;\n * @return {?proto.web_api.AuthenticationError}\n */\nproto.web_api.AuthenticateResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.AuthenticationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.AuthenticationError, 4));\n};\n\n\n/**\n * @param {?proto.web_api.AuthenticationError|undefined} value\n * @return {!proto.web_api.AuthenticateResponse} returns this\n*/\nproto.web_api.AuthenticateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AuthenticateResponse} returns this\n */\nproto.web_api.AuthenticateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AuthenticateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ForgotPasswordRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ForgotPasswordRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ForgotPasswordRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ForgotPasswordRequest}\n */\nproto.web_api.ForgotPasswordRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ForgotPasswordRequest;\n  return proto.web_api.ForgotPasswordRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ForgotPasswordRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ForgotPasswordRequest}\n */\nproto.web_api.ForgotPasswordRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ForgotPasswordRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ForgotPasswordRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ForgotPasswordRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.ForgotPasswordRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ForgotPasswordRequest} returns this\n */\nproto.web_api.ForgotPasswordRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ForgotPasswordResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ForgotPasswordResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ForgotPasswordResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && proto.web_api.AuthenticationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ForgotPasswordResponse}\n */\nproto.web_api.ForgotPasswordResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ForgotPasswordResponse;\n  return proto.web_api.ForgotPasswordResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ForgotPasswordResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ForgotPasswordResponse}\n */\nproto.web_api.ForgotPasswordResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.AuthenticationError;\n      reader.readMessage(value,proto.web_api.AuthenticationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ForgotPasswordResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ForgotPasswordResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ForgotPasswordResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ForgotPasswordResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.AuthenticationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuthenticationError error = 3;\n * @return {?proto.web_api.AuthenticationError}\n */\nproto.web_api.ForgotPasswordResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.AuthenticationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.AuthenticationError, 3));\n};\n\n\n/**\n * @param {?proto.web_api.AuthenticationError|undefined} value\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n*/\nproto.web_api.ForgotPasswordResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ForgotPasswordResponse} returns this\n */\nproto.web_api.ForgotPasswordResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ForgotPasswordResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreatePasswordRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreatePasswordRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreatePasswordRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    password: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreatePasswordRequest}\n */\nproto.web_api.CreatePasswordRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreatePasswordRequest;\n  return proto.web_api.CreatePasswordRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreatePasswordRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreatePasswordRequest}\n */\nproto.web_api.CreatePasswordRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPassword(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreatePasswordRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreatePasswordRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreatePasswordRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getPassword();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.web_api.CreatePasswordRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreatePasswordRequest} returns this\n */\nproto.web_api.CreatePasswordRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string password = 2;\n * @return {string}\n */\nproto.web_api.CreatePasswordRequest.prototype.getPassword = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreatePasswordRequest} returns this\n */\nproto.web_api.CreatePasswordRequest.prototype.setPassword = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreatePasswordResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreatePasswordResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreatePasswordResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && proto.web_api.AuthenticationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreatePasswordResponse}\n */\nproto.web_api.CreatePasswordResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreatePasswordResponse;\n  return proto.web_api.CreatePasswordResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreatePasswordResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreatePasswordResponse}\n */\nproto.web_api.CreatePasswordResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.AuthenticationError;\n      reader.readMessage(value,proto.web_api.AuthenticationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreatePasswordResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreatePasswordResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreatePasswordResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreatePasswordResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.AuthenticationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreatePasswordResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreatePasswordResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuthenticationError error = 3;\n * @return {?proto.web_api.AuthenticationError}\n */\nproto.web_api.CreatePasswordResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.AuthenticationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.AuthenticationError, 3));\n};\n\n\n/**\n * @param {?proto.web_api.AuthenticationError|undefined} value\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n*/\nproto.web_api.CreatePasswordResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreatePasswordResponse} returns this\n */\nproto.web_api.CreatePasswordResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreatePasswordResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.VerifyTokenRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.VerifyTokenRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.VerifyTokenRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    tokentype: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    token: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.VerifyTokenRequest}\n */\nproto.web_api.VerifyTokenRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.VerifyTokenRequest;\n  return proto.web_api.VerifyTokenRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.VerifyTokenRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.VerifyTokenRequest}\n */\nproto.web_api.VerifyTokenRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTokentype(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToken(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.VerifyTokenRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.VerifyTokenRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.VerifyTokenRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getTokentype();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getToken();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string tokenType = 1;\n * @return {string}\n */\nproto.web_api.VerifyTokenRequest.prototype.getTokentype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.VerifyTokenRequest} returns this\n */\nproto.web_api.VerifyTokenRequest.prototype.setTokentype = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string token = 2;\n * @return {string}\n */\nproto.web_api.VerifyTokenRequest.prototype.getToken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.VerifyTokenRequest} returns this\n */\nproto.web_api.VerifyTokenRequest.prototype.setToken = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.VerifyTokenResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.VerifyTokenResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.VerifyTokenResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Token.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.VerifyTokenResponse}\n */\nproto.web_api.VerifyTokenResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.VerifyTokenResponse;\n  return proto.web_api.VerifyTokenResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.VerifyTokenResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.VerifyTokenResponse}\n */\nproto.web_api.VerifyTokenResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Token;\n      reader.readMessage(value,proto.web_api.Token.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.VerifyTokenResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.VerifyTokenResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.VerifyTokenResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.VerifyTokenResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Token.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.VerifyTokenResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.VerifyTokenResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Token data = 3;\n * @return {?proto.web_api.Token}\n */\nproto.web_api.VerifyTokenResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Token} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Token, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Token|undefined} value\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n*/\nproto.web_api.VerifyTokenResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.VerifyTokenResponse} returns this\n */\nproto.web_api.VerifyTokenResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.VerifyTokenResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AuthorizeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AuthorizeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AuthorizeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthorizeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AuthorizeRequest}\n */\nproto.web_api.AuthorizeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AuthorizeRequest;\n  return proto.web_api.AuthorizeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AuthorizeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AuthorizeRequest}\n */\nproto.web_api.AuthorizeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AuthorizeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AuthorizeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AuthorizeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AuthorizeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopeAuthorizeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopeAuthorizeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopeAuthorizeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    scope: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopeAuthorizeRequest}\n */\nproto.web_api.ScopeAuthorizeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopeAuthorizeRequest;\n  return proto.web_api.ScopeAuthorizeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopeAuthorizeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopeAuthorizeRequest}\n */\nproto.web_api.ScopeAuthorizeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopeAuthorizeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopeAuthorizeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopeAuthorizeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string scope = 1;\n * @return {string}\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ScopeAuthorizeRequest} returns this\n */\nproto.web_api.ScopeAuthorizeRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ScopedAuthenticationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ScopedAuthenticationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthenticationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.ScopedAuthentication.toObject(includeInstance, f),\n    error: (f = msg.getError()) && proto.web_api.AuthenticationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ScopedAuthenticationResponse}\n */\nproto.web_api.ScopedAuthenticationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ScopedAuthenticationResponse;\n  return proto.web_api.ScopedAuthenticationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ScopedAuthenticationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ScopedAuthenticationResponse}\n */\nproto.web_api.ScopedAuthenticationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ScopedAuthentication;\n      reader.readMessage(value,proto.web_api.ScopedAuthentication.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.AuthenticationError;\n      reader.readMessage(value,proto.web_api.AuthenticationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ScopedAuthenticationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ScopedAuthenticationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ScopedAuthenticationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.ScopedAuthentication.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.AuthenticationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional ScopedAuthentication data = 3;\n * @return {?proto.web_api.ScopedAuthentication}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.ScopedAuthentication} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.ScopedAuthentication, 3));\n};\n\n\n/**\n * @param {?proto.web_api.ScopedAuthentication|undefined} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n*/\nproto.web_api.ScopedAuthenticationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional AuthenticationError error = 4;\n * @return {?proto.web_api.AuthenticationError}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.AuthenticationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.AuthenticationError, 4));\n};\n\n\n/**\n * @param {?proto.web_api.AuthenticationError|undefined} value\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n*/\nproto.web_api.ScopedAuthenticationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ScopedAuthenticationResponse} returns this\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ScopedAuthenticationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetUserRequest}\n */\nproto.web_api.GetUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetUserRequest;\n  return proto.web_api.GetUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetUserRequest}\n */\nproto.web_api.GetUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetUserResponse}\n */\nproto.web_api.GetUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetUserResponse;\n  return proto.web_api.GetUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetUserResponse}\n */\nproto.web_api.GetUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional User data = 3;\n * @return {?proto.User}\n */\nproto.web_api.GetUserResponse.prototype.getData = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.GetUserResponse} returns this\n*/\nproto.web_api.GetUserResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetUserResponse} returns this\n */\nproto.web_api.GetUserResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetUserResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserRequest}\n */\nproto.web_api.UpdateUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserRequest;\n  return proto.web_api.UpdateUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserRequest}\n */\nproto.web_api.UpdateUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = /** @type {string} */ (jspb.Message.getField(message, 1));\n  if (f != null) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.UpdateUserRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setField(this, 1, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.clearEmail = function() {\n  return jspb.Message.setField(this, 1, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserRequest.prototype.hasEmail = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.UpdateUserRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.setName = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateUserRequest} returns this\n */\nproto.web_api.UpdateUserRequest.prototype.clearName = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserRequest.prototype.hasName = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateUserResponse}\n */\nproto.web_api.UpdateUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateUserResponse;\n  return proto.web_api.UpdateUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateUserResponse}\n */\nproto.web_api.UpdateUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional User data = 3;\n * @return {?proto.User}\n */\nproto.web_api.UpdateUserResponse.prototype.getData = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.UpdateUserResponse} returns this\n*/\nproto.web_api.UpdateUserResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateUserResponse} returns this\n */\nproto.web_api.UpdateUserResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateUserResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.SocialAuthenticationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.SocialAuthenticationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.SocialAuthenticationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.SocialAuthenticationRequest}\n */\nproto.web_api.SocialAuthenticationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.SocialAuthenticationRequest;\n  return proto.web_api.SocialAuthenticationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.SocialAuthenticationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.SocialAuthenticationRequest}\n */\nproto.web_api.SocialAuthenticationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.SocialAuthenticationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.SocialAuthenticationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.SocialAuthenticationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.SocialAuthenticationRequest} returns this\n */\nproto.web_api.SocialAuthenticationRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.web_api.SocialAuthenticationRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.SocialAuthenticationRequest} returns this\n */\nproto.web_api.SocialAuthenticationRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllUserRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllUserRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllUserRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllUserRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllUserRequest}\n */\nproto.web_api.GetAllUserRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllUserRequest;\n  return proto.web_api.GetAllUserRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllUserRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllUserRequest}\n */\nproto.web_api.GetAllUserRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllUserRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllUserRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllUserRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllUserRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllUserRequest} returns this\n*/\nproto.web_api.GetAllUserRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserRequest} returns this\n */\nproto.web_api.GetAllUserRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllUserRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllUserRequest} returns this\n*/\nproto.web_api.GetAllUserRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllUserRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllUserRequest} returns this\n */\nproto.web_api.GetAllUserRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllUserResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllUserResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllUserResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllUserResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.User.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllUserResponse}\n */\nproto.web_api.GetAllUserResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllUserResponse;\n  return proto.web_api.GetAllUserResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllUserResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllUserResponse}\n */\nproto.web_api.GetAllUserResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllUserResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllUserResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllUserResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllUserResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllUserResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated User data = 3;\n * @return {!Array<!proto.User>}\n */\nproto.web_api.GetAllUserResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.User>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.User, 3));\n};\n\n\n/**\n * @param {!Array<!proto.User>} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.User=} opt_value\n * @param {number=} opt_index\n * @return {!proto.User}\n */\nproto.web_api.GetAllUserResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.User, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllUserResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllUserResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllUserResponse} returns this\n*/\nproto.web_api.GetAllUserResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllUserResponse} returns this\n */\nproto.web_api.GetAllUserResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllUserResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.OrganizationError.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.OrganizationError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.OrganizationError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationError.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    errorcode: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    errormessage: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    humanmessage: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.OrganizationError}\n */\nproto.web_api.OrganizationError.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.OrganizationError;\n  return proto.web_api.OrganizationError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.OrganizationError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.OrganizationError}\n */\nproto.web_api.OrganizationError.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setErrorcode(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErrormessage(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setHumanmessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.OrganizationError.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.OrganizationError.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.OrganizationError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.OrganizationError.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getErrorcode();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getErrormessage();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getHumanmessage();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 errorCode = 1;\n * @return {string}\n */\nproto.web_api.OrganizationError.prototype.getErrorcode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationError} returns this\n */\nproto.web_api.OrganizationError.prototype.setErrorcode = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string errorMessage = 2;\n * @return {string}\n */\nproto.web_api.OrganizationError.prototype.getErrormessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationError} returns this\n */\nproto.web_api.OrganizationError.prototype.setErrormessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string humanMessage = 3;\n * @return {string}\n */\nproto.web_api.OrganizationError.prototype.getHumanmessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.OrganizationError} returns this\n */\nproto.web_api.OrganizationError.prototype.setHumanmessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationname: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    organizationsize: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    organizationindustry: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationcontact: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateOrganizationRequest}\n */\nproto.web_api.CreateOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateOrganizationRequest;\n  return proto.web_api.CreateOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateOrganizationRequest}\n */\nproto.web_api.CreateOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationsize(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationindustry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationcontact(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationname();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getOrganizationsize();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getOrganizationindustry();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string organizationName = 1;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string organizationSize = 2;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationsize = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationsize = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string organizationIndustry = 3;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationindustry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationindustry = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string organizationContact = 4;\n * @return {string}\n */\nproto.web_api.CreateOrganizationRequest.prototype.getOrganizationcontact = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.setOrganizationcontact = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.CreateOrganizationRequest} returns this\n */\nproto.web_api.CreateOrganizationRequest.prototype.clearOrganizationcontact = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationRequest.prototype.hasOrganizationcontact = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    organizationname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    organizationindustry: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    organizationcontact: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateOrganizationRequest}\n */\nproto.web_api.UpdateOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateOrganizationRequest;\n  return proto.web_api.UpdateOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateOrganizationRequest}\n */\nproto.web_api.UpdateOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationindustry(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationcontact(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 3));\n  if (f != null) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 organizationId = 1;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string organizationName = 2;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationname = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationname = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string organizationIndustry = 3;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationindustry = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationindustry = function(value) {\n  return jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationindustry = function() {\n  return jspb.Message.setField(this, 3, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationindustry = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string organizationContact = 4;\n * @return {string}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.getOrganizationcontact = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.setOrganizationcontact = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationRequest} returns this\n */\nproto.web_api.UpdateOrganizationRequest.prototype.clearOrganizationcontact = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationRequest.prototype.hasOrganizationcontact = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetOrganizationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetOrganizationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetOrganizationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetOrganizationRequest}\n */\nproto.web_api.GetOrganizationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetOrganizationRequest;\n  return proto.web_api.GetOrganizationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetOrganizationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetOrganizationRequest}\n */\nproto.web_api.GetOrganizationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetOrganizationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetOrganizationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetOrganizationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Organization.toObject(includeInstance, f),\n    role: (f = msg.getRole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    error: (f = msg.getError()) && proto.web_api.OrganizationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetOrganizationResponse}\n */\nproto.web_api.GetOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetOrganizationResponse;\n  return proto.web_api.GetOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetOrganizationResponse}\n */\nproto.web_api.GetOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setRole(value);\n      break;\n    case 5:\n      var value = new proto.web_api.OrganizationError;\n      reader.readMessage(value,proto.web_api.OrganizationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getRole();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.web_api.OrganizationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Organization data = 3;\n * @return {?proto.Organization}\n */\nproto.web_api.GetOrganizationResponse.prototype.getData = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 3));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional OrganizationRole role = 4;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.GetOrganizationResponse.prototype.getRole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 4));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setRole = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearRole = function() {\n  return this.setRole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasRole = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional OrganizationError error = 5;\n * @return {?proto.web_api.OrganizationError}\n */\nproto.web_api.GetOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.OrganizationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationError, 5));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationError|undefined} value\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n*/\nproto.web_api.GetOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetOrganizationResponse} returns this\n */\nproto.web_api.GetOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Organization.toObject(includeInstance, f),\n    role: (f = msg.getRole()) && proto.web_api.OrganizationRole.toObject(includeInstance, f),\n    error: (f = msg.getError()) && proto.web_api.OrganizationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateOrganizationResponse}\n */\nproto.web_api.CreateOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateOrganizationResponse;\n  return proto.web_api.CreateOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateOrganizationResponse}\n */\nproto.web_api.CreateOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new proto.web_api.OrganizationRole;\n      reader.readMessage(value,proto.web_api.OrganizationRole.deserializeBinaryFromReader);\n      msg.setRole(value);\n      break;\n    case 5:\n      var value = new proto.web_api.OrganizationError;\n      reader.readMessage(value,proto.web_api.OrganizationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getRole();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.web_api.OrganizationRole.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.web_api.OrganizationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Organization data = 3;\n * @return {?proto.Organization}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getData = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 3));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional OrganizationRole role = 4;\n * @return {?proto.web_api.OrganizationRole}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getRole = function() {\n  return /** @type{?proto.web_api.OrganizationRole} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationRole, 4));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationRole|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setRole = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearRole = function() {\n  return this.setRole(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasRole = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional OrganizationError error = 5;\n * @return {?proto.web_api.OrganizationError}\n */\nproto.web_api.CreateOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.OrganizationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationError, 5));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationError|undefined} value\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n*/\nproto.web_api.CreateOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateOrganizationResponse} returns this\n */\nproto.web_api.CreateOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateOrganizationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateOrganizationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && proto.web_api.OrganizationError.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateOrganizationResponse}\n */\nproto.web_api.UpdateOrganizationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateOrganizationResponse;\n  return proto.web_api.UpdateOrganizationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateOrganizationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateOrganizationResponse}\n */\nproto.web_api.UpdateOrganizationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 5:\n      var value = new proto.web_api.OrganizationError;\n      reader.readMessage(value,proto.web_api.OrganizationError.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateOrganizationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateOrganizationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateOrganizationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      proto.web_api.OrganizationError.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional OrganizationError error = 5;\n * @return {?proto.web_api.OrganizationError}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.getError = function() {\n  return /** @type{?proto.web_api.OrganizationError} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.OrganizationError, 5));\n};\n\n\n/**\n * @param {?proto.web_api.OrganizationError|undefined} value\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n*/\nproto.web_api.UpdateOrganizationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateOrganizationResponse} returns this\n */\nproto.web_api.UpdateOrganizationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateOrganizationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateBillingInformationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateBillingInformationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateBillingInformationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paymentmethod: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    billinginterval: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    taxinformation: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    address: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    email: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateBillingInformationRequest}\n */\nproto.web_api.UpdateBillingInformationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateBillingInformationRequest;\n  return proto.web_api.UpdateBillingInformationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateBillingInformationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateBillingInformationRequest}\n */\nproto.web_api.UpdateBillingInformationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setPaymentmethod(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} */ (reader.readEnum());\n      msg.setBillinginterval(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setTaxinformation(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAddress(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateBillingInformationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateBillingInformationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateBillingInformationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaymentmethod();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getBillinginterval();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getTaxinformation();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getAddress();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.web_api.UpdateBillingInformationRequest.BillingInterval = {\n  ANNUALLY: 0,\n  MONTHLY: 1\n};\n\n/**\n * optional string paymentMethod = 1;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getPaymentmethod = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setPaymentmethod = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional BillingInterval billingInterval = 2;\n * @return {!proto.web_api.UpdateBillingInformationRequest.BillingInterval}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getBillinginterval = function() {\n  return /** @type {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.web_api.UpdateBillingInformationRequest.BillingInterval} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setBillinginterval = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string taxInformation = 3;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getTaxinformation = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setTaxinformation = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string address = 4;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getAddress = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setAddress = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string email = 5;\n * @return {string}\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateBillingInformationRequest} returns this\n */\nproto.web_api.UpdateBillingInformationRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.Project.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.Project.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.Project.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.Project} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Project.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    membersList: jspb.Message.toObjectList(msg.getMembersList(),\n    common_pb.User.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.Project}\n */\nproto.web_api.Project.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.Project;\n  return proto.web_api.Project.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.Project} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.Project}\n */\nproto.web_api.Project.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.addMembers(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 6:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.Project.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.Project.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.Project} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.Project.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getMembersList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.Project.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.Project.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.web_api.Project.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated User members = 4;\n * @return {!Array<!proto.User>}\n */\nproto.web_api.Project.prototype.getMembersList = function() {\n  return /** @type{!Array<!proto.User>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.User, 4));\n};\n\n\n/**\n * @param {!Array<!proto.User>} value\n * @return {!proto.web_api.Project} returns this\n*/\nproto.web_api.Project.prototype.setMembersList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.User=} opt_value\n * @param {number=} opt_index\n * @return {!proto.User}\n */\nproto.web_api.Project.prototype.addMembers = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.User, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.clearMembersList = function() {\n  return this.setMembersList([]);\n};\n\n\n/**\n * optional string status = 5;\n * @return {string}\n */\nproto.web_api.Project.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.Project.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.Project} returns this\n*/\nproto.web_api.Project.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.Project} returns this\n */\nproto.web_api.Project.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.Project.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectname: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    projectdescription: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectRequest}\n */\nproto.web_api.CreateProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectRequest;\n  return proto.web_api.CreateProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectRequest}\n */\nproto.web_api.CreateProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectdescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectname();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string projectName = 1;\n * @return {string}\n */\nproto.web_api.CreateProjectRequest.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.setProjectname = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string projectDescription = 2;\n * @return {string}\n */\nproto.web_api.CreateProjectRequest.prototype.getProjectdescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.setProjectdescription = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.CreateProjectRequest} returns this\n */\nproto.web_api.CreateProjectRequest.prototype.clearProjectdescription = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectRequest.prototype.hasProjectdescription = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectResponse}\n */\nproto.web_api.CreateProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectResponse;\n  return proto.web_api.CreateProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectResponse}\n */\nproto.web_api.CreateProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.CreateProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n*/\nproto.web_api.CreateProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.CreateProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreateProjectResponse} returns this\n*/\nproto.web_api.CreateProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectResponse} returns this\n */\nproto.web_api.CreateProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    projectdescription: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateProjectRequest}\n */\nproto.web_api.UpdateProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateProjectRequest;\n  return proto.web_api.UpdateProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateProjectRequest}\n */\nproto.web_api.UpdateProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectdescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 2));\n  if (f != null) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 3));\n  if (f != null) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string projectName = 2;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectname = function(value) {\n  return jspb.Message.setField(this, 2, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.clearProjectname = function() {\n  return jspb.Message.setField(this, 2, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectRequest.prototype.hasProjectname = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string projectDescription = 3;\n * @return {string}\n */\nproto.web_api.UpdateProjectRequest.prototype.getProjectdescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.setProjectdescription = function(value) {\n  return jspb.Message.setField(this, 3, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.web_api.UpdateProjectRequest} returns this\n */\nproto.web_api.UpdateProjectRequest.prototype.clearProjectdescription = function() {\n  return jspb.Message.setField(this, 3, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectRequest.prototype.hasProjectdescription = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.UpdateProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.UpdateProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.UpdateProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.UpdateProjectResponse}\n */\nproto.web_api.UpdateProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.UpdateProjectResponse;\n  return proto.web_api.UpdateProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.UpdateProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.UpdateProjectResponse}\n */\nproto.web_api.UpdateProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.UpdateProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.UpdateProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.UpdateProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.UpdateProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.UpdateProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.UpdateProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n*/\nproto.web_api.UpdateProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.UpdateProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n*/\nproto.web_api.UpdateProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.UpdateProjectResponse} returns this\n */\nproto.web_api.UpdateProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.UpdateProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetProjectRequest}\n */\nproto.web_api.GetProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetProjectRequest;\n  return proto.web_api.GetProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetProjectRequest}\n */\nproto.web_api.GetProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.GetProjectRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.GetProjectRequest} returns this\n */\nproto.web_api.GetProjectRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.Project.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetProjectResponse}\n */\nproto.web_api.GetProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetProjectResponse;\n  return proto.web_api.GetProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetProjectResponse}\n */\nproto.web_api.GetProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Project data = 3;\n * @return {?proto.web_api.Project}\n */\nproto.web_api.GetProjectResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.Project} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {?proto.web_api.Project|undefined} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n*/\nproto.web_api.GetProjectResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetProjectResponse} returns this\n*/\nproto.web_api.GetProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetProjectResponse} returns this\n */\nproto.web_api.GetProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectRequest}\n */\nproto.web_api.GetAllProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectRequest;\n  return proto.web_api.GetAllProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectRequest}\n */\nproto.web_api.GetAllProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllProjectRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n*/\nproto.web_api.GetAllProjectRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n */\nproto.web_api.GetAllProjectRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllProjectRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n*/\nproto.web_api.GetAllProjectRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllProjectRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectRequest} returns this\n */\nproto.web_api.GetAllProjectRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.Project.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectResponse}\n */\nproto.web_api.GetAllProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectResponse;\n  return proto.web_api.GetAllProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectResponse}\n */\nproto.web_api.GetAllProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Project data = 3;\n * @return {!Array<!proto.web_api.Project>}\n */\nproto.web_api.GetAllProjectResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.Project>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.Project>} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.Project=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.Project}\n */\nproto.web_api.GetAllProjectResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.Project, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllProjectResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n*/\nproto.web_api.GetAllProjectResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectResponse} returns this\n */\nproto.web_api.GetAllProjectResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.AddUsersToProjectRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AddUsersToProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AddUsersToProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AddUsersToProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUsersToProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    role: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    projectidsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AddUsersToProjectRequest}\n */\nproto.web_api.AddUsersToProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AddUsersToProjectRequest;\n  return proto.web_api.AddUsersToProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AddUsersToProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AddUsersToProjectRequest}\n */\nproto.web_api.AddUsersToProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRole(value);\n      break;\n    case 3:\n      var values = /** @type {!Array<string>} */ (reader.isDelimited() ? reader.readPackedUint64String() : [reader.readUint64String()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addProjectids(values[i]);\n      }\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AddUsersToProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AddUsersToProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AddUsersToProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUsersToProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getRole();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getProjectidsList();\n  if (f.length > 0) {\n    writer.writePackedUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.web_api.AddUsersToProjectRequest.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AddUsersToProjectRequest} returns this\n */\nproto.web_api.AddUsersToProjectRequest.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string role = 2;\n * @return {string}\n */\nproto.web_api.AddUsersToProjectRequest.prototype.getRole = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.AddUsersToProjectRequest} returns this\n */\nproto.web_api.AddUsersToProjectRequest.prototype.setRole = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated uint64 projectIds = 3;\n * @return {!Array<string>}\n */\nproto.web_api.AddUsersToProjectRequest.prototype.getProjectidsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.web_api.AddUsersToProjectRequest} returns this\n */\nproto.web_api.AddUsersToProjectRequest.prototype.setProjectidsList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.web_api.AddUsersToProjectRequest} returns this\n */\nproto.web_api.AddUsersToProjectRequest.prototype.addProjectids = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.AddUsersToProjectRequest} returns this\n */\nproto.web_api.AddUsersToProjectRequest.prototype.clearProjectidsList = function() {\n  return this.setProjectidsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ArchiveProjectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ArchiveProjectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ArchiveProjectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ArchiveProjectRequest}\n */\nproto.web_api.ArchiveProjectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ArchiveProjectRequest;\n  return proto.web_api.ArchiveProjectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ArchiveProjectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ArchiveProjectRequest}\n */\nproto.web_api.ArchiveProjectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ArchiveProjectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ArchiveProjectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ArchiveProjectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ArchiveProjectRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ArchiveProjectRequest} returns this\n */\nproto.web_api.ArchiveProjectRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ArchiveProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ArchiveProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ArchiveProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    id: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ArchiveProjectResponse}\n */\nproto.web_api.ArchiveProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ArchiveProjectResponse;\n  return proto.web_api.ArchiveProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ArchiveProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ArchiveProjectResponse}\n */\nproto.web_api.ArchiveProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ArchiveProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ArchiveProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ArchiveProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ArchiveProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 id = 3;\n * @return {string}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.ArchiveProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n*/\nproto.web_api.ArchiveProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ArchiveProjectResponse} returns this\n */\nproto.web_api.ArchiveProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ArchiveProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.AddUsersToProjectResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.AddUsersToProjectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.AddUsersToProjectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUsersToProjectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.Project.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.AddUsersToProjectResponse}\n */\nproto.web_api.AddUsersToProjectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.AddUsersToProjectResponse;\n  return proto.web_api.AddUsersToProjectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.AddUsersToProjectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.AddUsersToProjectResponse}\n */\nproto.web_api.AddUsersToProjectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.Project;\n      reader.readMessage(value,proto.web_api.Project.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.AddUsersToProjectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.AddUsersToProjectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.AddUsersToProjectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.Project.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n */\nproto.web_api.AddUsersToProjectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n */\nproto.web_api.AddUsersToProjectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Project data = 3;\n * @return {!Array<!proto.web_api.Project>}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.Project>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.Project, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.Project>} value\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n*/\nproto.web_api.AddUsersToProjectResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.Project=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.Project}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.Project, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n */\nproto.web_api.AddUsersToProjectResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n*/\nproto.web_api.AddUsersToProjectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.AddUsersToProjectResponse} returns this\n */\nproto.web_api.AddUsersToProjectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.AddUsersToProjectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.ProjectCredential.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.ProjectCredential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.ProjectCredential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectCredential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    key: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.ProjectCredential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.ProjectCredential;\n  return proto.web_api.ProjectCredential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.ProjectCredential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.ProjectCredential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setKey(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 11:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.ProjectCredential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.ProjectCredential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.ProjectCredential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.ProjectCredential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getKey();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 2;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional uint64 organizationId = 3;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string name = 4;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string key = 5;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getKey = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setKey = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string status = 6;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional uint64 createdBy = 7;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 updatedBy = 8;\n * @return {string}\n */\nproto.web_api.ProjectCredential.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.ProjectCredential.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.web_api.ProjectCredential.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional User createdUser = 11;\n * @return {?proto.User}\n */\nproto.web_api.ProjectCredential.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 11));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.web_api.ProjectCredential} returns this\n*/\nproto.web_api.ProjectCredential.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.ProjectCredential} returns this\n */\nproto.web_api.ProjectCredential.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.ProjectCredential.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    projectid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectCredentialRequest}\n */\nproto.web_api.CreateProjectCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectCredentialRequest;\n  return proto.web_api.CreateProjectCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectCredentialRequest}\n */\nproto.web_api.CreateProjectCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 projectId = 1;\n * @return {string}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectCredentialRequest} returns this\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.CreateProjectCredentialRequest} returns this\n */\nproto.web_api.CreateProjectCredentialRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectCredentialRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectCredentialRequest}\n */\nproto.web_api.GetAllProjectCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectCredentialRequest;\n  return proto.web_api.GetAllProjectCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectCredentialRequest}\n */\nproto.web_api.GetAllProjectCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n*/\nproto.web_api.GetAllProjectCredentialRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n*/\nproto.web_api.GetAllProjectCredentialRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.web_api.GetAllProjectCredentialRequest} returns this\n */\nproto.web_api.GetAllProjectCredentialRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.CreateProjectCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.CreateProjectCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.web_api.ProjectCredential.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.CreateProjectCredentialResponse}\n */\nproto.web_api.CreateProjectCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.CreateProjectCredentialResponse;\n  return proto.web_api.CreateProjectCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.CreateProjectCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.CreateProjectCredentialResponse}\n */\nproto.web_api.CreateProjectCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ProjectCredential;\n      reader.readMessage(value,proto.web_api.ProjectCredential.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.CreateProjectCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.CreateProjectCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.CreateProjectCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.web_api.ProjectCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional ProjectCredential data = 3;\n * @return {?proto.web_api.ProjectCredential}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getData = function() {\n  return /** @type{?proto.web_api.ProjectCredential} */ (\n    jspb.Message.getWrapperField(this, proto.web_api.ProjectCredential, 3));\n};\n\n\n/**\n * @param {?proto.web_api.ProjectCredential|undefined} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n*/\nproto.web_api.CreateProjectCredentialResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n*/\nproto.web_api.CreateProjectCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.CreateProjectCredentialResponse} returns this\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.CreateProjectCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.web_api.GetAllProjectCredentialResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.web_api.GetAllProjectCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.web_api.GetAllProjectCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.web_api.ProjectCredential.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.web_api.GetAllProjectCredentialResponse}\n */\nproto.web_api.GetAllProjectCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.web_api.GetAllProjectCredentialResponse;\n  return proto.web_api.GetAllProjectCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.web_api.GetAllProjectCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.web_api.GetAllProjectCredentialResponse}\n */\nproto.web_api.GetAllProjectCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.web_api.ProjectCredential;\n      reader.readMessage(value,proto.web_api.ProjectCredential.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.web_api.GetAllProjectCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.web_api.GetAllProjectCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.web_api.GetAllProjectCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.web_api.ProjectCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated ProjectCredential data = 3;\n * @return {!Array<!proto.web_api.ProjectCredential>}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.web_api.ProjectCredential>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.web_api.ProjectCredential, 3));\n};\n\n\n/**\n * @param {!Array<!proto.web_api.ProjectCredential>} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.web_api.ProjectCredential=} opt_value\n * @param {number=} opt_index\n * @return {!proto.web_api.ProjectCredential}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.web_api.ProjectCredential, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n*/\nproto.web_api.GetAllProjectCredentialResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.web_api.GetAllProjectCredentialResponse} returns this\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.web_api.GetAllProjectCredentialResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.web_api);\n","// package: web_api\n// file: web-api.proto\n\nvar web_api_pb = require(\"./web-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AuthenticationService = (function () {\n  function AuthenticationService() {}\n  AuthenticationService.serviceName = \"web_api.AuthenticationService\";\n  return AuthenticationService;\n}());\n\nAuthenticationService.Authenticate = {\n  methodName: \"Authenticate\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AuthenticateRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.RegisterUser = {\n  methodName: \"RegisterUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.RegisterUserRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Authorize = {\n  methodName: \"Authorize\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AuthorizeRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.ScopeAuthorize = {\n  methodName: \"ScopeAuthorize\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ScopeAuthorizeRequest,\n  responseType: web_api_pb.ScopedAuthenticationResponse\n};\n\nAuthenticationService.VerifyToken = {\n  methodName: \"VerifyToken\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.VerifyTokenRequest,\n  responseType: web_api_pb.VerifyTokenResponse\n};\n\nAuthenticationService.ForgotPassword = {\n  methodName: \"ForgotPassword\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ForgotPasswordRequest,\n  responseType: web_api_pb.ForgotPasswordResponse\n};\n\nAuthenticationService.CreatePassword = {\n  methodName: \"CreatePassword\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreatePasswordRequest,\n  responseType: web_api_pb.CreatePasswordResponse\n};\n\nAuthenticationService.GetUser = {\n  methodName: \"GetUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetUserRequest,\n  responseType: web_api_pb.GetUserResponse\n};\n\nAuthenticationService.UpdateUser = {\n  methodName: \"UpdateUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateUserRequest,\n  responseType: web_api_pb.UpdateUserResponse\n};\n\nAuthenticationService.GetAllUser = {\n  methodName: \"GetAllUser\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllUserRequest,\n  responseType: web_api_pb.GetAllUserResponse\n};\n\nAuthenticationService.Linkedin = {\n  methodName: \"Linkedin\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Google = {\n  methodName: \"Google\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nAuthenticationService.Github = {\n  methodName: \"Github\",\n  service: AuthenticationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.SocialAuthenticationRequest,\n  responseType: web_api_pb.AuthenticateResponse\n};\n\nexports.AuthenticationService = AuthenticationService;\n\nfunction AuthenticationServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAuthenticationServiceClient.prototype.authenticate = function authenticate(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Authenticate, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.registerUser = function registerUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.RegisterUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.authorize = function authorize(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Authorize, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.scopeAuthorize = function scopeAuthorize(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.ScopeAuthorize, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.verifyToken = function verifyToken(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.VerifyToken, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.forgotPassword = function forgotPassword(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.ForgotPassword, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.createPassword = function createPassword(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.CreatePassword, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.getUser = function getUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.GetUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.updateUser = function updateUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.UpdateUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.getAllUser = function getAllUser(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.GetAllUser, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.linkedin = function linkedin(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Linkedin, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.google = function google(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Google, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuthenticationServiceClient.prototype.github = function github(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuthenticationService.Github, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AuthenticationServiceClient = AuthenticationServiceClient;\n\nvar OrganizationService = (function () {\n  function OrganizationService() {}\n  OrganizationService.serviceName = \"web_api.OrganizationService\";\n  return OrganizationService;\n}());\n\nOrganizationService.CreateOrganization = {\n  methodName: \"CreateOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateOrganizationRequest,\n  responseType: web_api_pb.CreateOrganizationResponse\n};\n\nOrganizationService.GetOrganization = {\n  methodName: \"GetOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetOrganizationRequest,\n  responseType: web_api_pb.GetOrganizationResponse\n};\n\nOrganizationService.UpdateOrganization = {\n  methodName: \"UpdateOrganization\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateOrganizationRequest,\n  responseType: web_api_pb.UpdateOrganizationResponse\n};\n\nOrganizationService.UpdateBillingInformation = {\n  methodName: \"UpdateBillingInformation\",\n  service: OrganizationService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateBillingInformationRequest,\n  responseType: common_pb.BaseResponse\n};\n\nexports.OrganizationService = OrganizationService;\n\nfunction OrganizationServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nOrganizationServiceClient.prototype.createOrganization = function createOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.CreateOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.getOrganization = function getOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.GetOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.updateOrganization = function updateOrganization(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.UpdateOrganization, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOrganizationServiceClient.prototype.updateBillingInformation = function updateBillingInformation(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OrganizationService.UpdateBillingInformation, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.OrganizationServiceClient = OrganizationServiceClient;\n\nvar ProjectService = (function () {\n  function ProjectService() {}\n  ProjectService.serviceName = \"web_api.ProjectService\";\n  return ProjectService;\n}());\n\nProjectService.CreateProject = {\n  methodName: \"CreateProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateProjectRequest,\n  responseType: web_api_pb.CreateProjectResponse\n};\n\nProjectService.UpdateProject = {\n  methodName: \"UpdateProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.UpdateProjectRequest,\n  responseType: web_api_pb.UpdateProjectResponse\n};\n\nProjectService.GetProject = {\n  methodName: \"GetProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetProjectRequest,\n  responseType: web_api_pb.GetProjectResponse\n};\n\nProjectService.GetAllProject = {\n  methodName: \"GetAllProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllProjectRequest,\n  responseType: web_api_pb.GetAllProjectResponse\n};\n\nProjectService.AddUsersToProject = {\n  methodName: \"AddUsersToProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.AddUsersToProjectRequest,\n  responseType: web_api_pb.AddUsersToProjectResponse\n};\n\nProjectService.ArchiveProject = {\n  methodName: \"ArchiveProject\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.ArchiveProjectRequest,\n  responseType: web_api_pb.ArchiveProjectResponse\n};\n\nProjectService.CreateProjectCredential = {\n  methodName: \"CreateProjectCredential\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.CreateProjectCredentialRequest,\n  responseType: web_api_pb.CreateProjectCredentialResponse\n};\n\nProjectService.GetAllProjectCredential = {\n  methodName: \"GetAllProjectCredential\",\n  service: ProjectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: web_api_pb.GetAllProjectCredentialRequest,\n  responseType: web_api_pb.GetAllProjectCredentialResponse\n};\n\nexports.ProjectService = ProjectService;\n\nfunction ProjectServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nProjectServiceClient.prototype.createProject = function createProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.CreateProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.updateProject = function updateProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.UpdateProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getProject = function getProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getAllProject = function getAllProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetAllProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.addUsersToProject = function addUsersToProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.AddUsersToProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.archiveProject = function archiveProject(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.ArchiveProject, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.createProjectCredential = function createProjectCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.CreateProjectCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProjectServiceClient.prototype.getAllProjectCredential = function getAllProjectCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProjectService.GetAllProjectCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ProjectServiceClient = ProjectServiceClient;\n\n","// source: knowledge-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeDocumentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.CreateKnowledgeTagRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetAllKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.GetKnowledgeResponse', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocument', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment.Entities', null, global);\ngoog.exportSymbol('proto.knowledge_api.KnowledgeDocumentSegment.Metadata', null, global);\ngoog.exportSymbol('proto.knowledge_api.UpdateKnowledgeDetailRequest', null, global);\ngoog.exportSymbol('proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeRequest.displayName = 'proto.knowledge_api.CreateKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeResponse.displayName = 'proto.knowledge_api.CreateKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeRequest.displayName = 'proto.knowledge_api.GetKnowledgeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetKnowledgeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.GetKnowledgeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetKnowledgeResponse.displayName = 'proto.knowledge_api.GetKnowledgeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeTagRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeTagRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeTagRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeTagRequest.displayName = 'proto.knowledge_api.CreateKnowledgeTagRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocument = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocument, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocument.displayName = 'proto.knowledge_api.KnowledgeDocument';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeDocumentRequest.displayName = 'proto.knowledge_api.CreateKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.CreateKnowledgeDocumentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.CreateKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.CreateKnowledgeDocumentResponse.displayName = 'proto.knowledge_api.CreateKnowledgeDocumentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment.Metadata, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.Metadata.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment.Metadata';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.KnowledgeDocumentSegment.Entities.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.KnowledgeDocumentSegment.Entities, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.KnowledgeDocumentSegment.Entities.displayName = 'proto.knowledge_api.KnowledgeDocumentSegment.Entities';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.displayName = 'proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.UpdateKnowledgeDetailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.UpdateKnowledgeDetailRequest.displayName = 'proto.knowledge_api.UpdateKnowledgeDetailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.displayName = 'proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeRequest.repeatedFields_ = [4,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    visibility: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    embeddingmodelproviderid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    embeddingmodelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    knowledgeembeddingmodeloptionsList: jspb.Message.toObjectList(msg.getKnowledgeembeddingmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest}\n */\nproto.knowledge_api.CreateKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeRequest;\n  return proto.knowledge_api.CreateKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest}\n */\nproto.knowledge_api.CreateKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEmbeddingmodelproviderid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmbeddingmodelprovidername(value);\n      break;\n    case 8:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addKnowledgeembeddingmodeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getEmbeddingmodelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getEmbeddingmodelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getKnowledgeembeddingmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n/**\n * optional string visibility = 5;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint64 embeddingModelProviderId = 6;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getEmbeddingmodelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setEmbeddingmodelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string embeddingModelProviderName = 7;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getEmbeddingmodelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setEmbeddingmodelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata knowledgeEmbeddingModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.getKnowledgeembeddingmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n*/\nproto.knowledge_api.CreateKnowledgeRequest.prototype.setKnowledgeembeddingmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.addKnowledgeembeddingmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeRequest.prototype.clearKnowledgeembeddingmodeloptionsList = function() {\n  return this.setKnowledgeembeddingmodeloptionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Knowledge.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse}\n */\nproto.knowledge_api.CreateKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeResponse;\n  return proto.knowledge_api.CreateKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse}\n */\nproto.knowledge_api.CreateKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Knowledge data = 3;\n * @return {?proto.Knowledge}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getData = function() {\n  return /** @type{?proto.Knowledge} */ (\n    jspb.Message.getWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {?proto.Knowledge|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeRequest;\n  return proto.knowledge_api.GetAllKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Knowledge.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeResponse;\n  return proto.knowledge_api.GetAllKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Knowledge data = 3;\n * @return {!Array<!proto.Knowledge>}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Knowledge>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Knowledge>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Knowledge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Knowledge}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Knowledge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeRequest}\n */\nproto.knowledge_api.GetKnowledgeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeRequest;\n  return proto.knowledge_api.GetKnowledgeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeRequest}\n */\nproto.knowledge_api.GetKnowledgeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetKnowledgeRequest} returns this\n */\nproto.knowledge_api.GetKnowledgeRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetKnowledgeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetKnowledgeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && common_pb.Knowledge.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetKnowledgeResponse}\n */\nproto.knowledge_api.GetKnowledgeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetKnowledgeResponse;\n  return proto.knowledge_api.GetKnowledgeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetKnowledgeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetKnowledgeResponse}\n */\nproto.knowledge_api.GetKnowledgeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Knowledge;\n      reader.readMessage(value,common_pb.Knowledge.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetKnowledgeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetKnowledgeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetKnowledgeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Knowledge.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Knowledge data = 3;\n * @return {?proto.Knowledge}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getData = function() {\n  return /** @type{?proto.Knowledge} */ (\n    jspb.Message.getWrapperField(this, common_pb.Knowledge, 3));\n};\n\n\n/**\n * @param {?proto.Knowledge|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n*/\nproto.knowledge_api.GetKnowledgeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetKnowledgeResponse} returns this\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetKnowledgeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeTagRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeTagRequest;\n  return proto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeTagRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeTagRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeTagRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeTagRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocument.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocument} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocument.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    language: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    documentsource: (f = msg.getDocumentsource()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    documenttype: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    documentsize: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    documentpath: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n    indexstatus: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    retrievalcount: jspb.Message.getFieldWithDefault(msg, 12, 0),\n    tokencount: jspb.Message.getFieldWithDefault(msg, 13, 0),\n    wordcount: jspb.Message.getFieldWithDefault(msg, 14, 0),\n    displaystatus: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 22, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 24, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.KnowledgeDocument.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocument;\n  return proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocument} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 6:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setDocumentsource(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumenttype(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setDocumentsize(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentpath(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndexstatus(value);\n      break;\n    case 12:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRetrievalcount(value);\n      break;\n    case 13:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setTokencount(value);\n      break;\n    case 14:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setWordcount(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDisplaystatus(value);\n      break;\n    case 21:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 22:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 23:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 24:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 25:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocument} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getDocumentsource();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getDocumenttype();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getDocumentsize();\n  if (f !== 0) {\n    writer.writeUint64(\n      8,\n      f\n    );\n  }\n  f = message.getDocumentpath();\n  if (f.length > 0) {\n    writer.writeString(\n      9,\n      f\n    );\n  }\n  f = message.getIndexstatus();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getRetrievalcount();\n  if (f !== 0) {\n    writer.writeUint64(\n      12,\n      f\n    );\n  }\n  f = message.getTokencount();\n  if (f !== 0) {\n    writer.writeUint64(\n      13,\n      f\n    );\n  }\n  f = message.getWordcount();\n  if (f !== 0) {\n    writer.writeUint64(\n      14,\n      f\n    );\n  }\n  f = message.getDisplaystatus();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      21,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      22,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      23,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      24,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      25,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 knowledgeId = 2;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string language = 3;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string name = 4;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string description = 5;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Struct documentSource = 6;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentsource = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentsource = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearDocumentsource = function() {\n  return this.setDocumentsource(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasDocumentsource = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional string documentType = 7;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumenttype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumenttype = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint64 documentSize = 8;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentsize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentsize = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional string documentPath = 9;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDocumentpath = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDocumentpath = function(value) {\n  return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string indexStatus = 10;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getIndexstatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setIndexstatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional uint64 retrievalCount = 12;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getRetrievalcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setRetrievalcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional uint64 tokenCount = 13;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getTokencount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setTokencount = function(value) {\n  return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional uint64 wordCount = 14;\n * @return {number}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getWordcount = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setWordcount = function(value) {\n  return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional string DisplayStatus = 19;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getDisplaystatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setDisplaystatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional string status = 21;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional uint64 createdBy = 22;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 22, value);\n};\n\n\n/**\n * optional User createdUser = 23;\n * @return {?proto.User}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 23));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 24;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 24, value);\n};\n\n\n/**\n * optional User updatedUser = 25;\n * @return {?proto.User}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 25));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n*/\nproto.knowledge_api.KnowledgeDocument.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocument} returns this\n */\nproto.knowledge_api.KnowledgeDocument.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocument.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentRequest;\n  return proto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 3:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 2;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 2));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 3;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocument.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentResponse;\n  return proto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocument;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocument data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocument>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocument, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocument>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    documentsource: jspb.Message.getFieldWithDefault(msg, 2, 0),\n    datasource: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    contentsList: jspb.Message.toObjectList(msg.getContentsList(),\n    common_pb.Content.toObject, includeInstance),\n    preprocess: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    separator: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    maxchunksize: jspb.Message.getFieldWithDefault(msg, 8, 0),\n    chunkoverlap: jspb.Message.getFieldWithDefault(msg, 9, 0),\n    name: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    documentstructure: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeDocumentRequest;\n  return proto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} */ (reader.readEnum());\n      msg.setDocumentsource(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDatasource(value);\n      break;\n    case 5:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.addContents(value);\n      break;\n    case 6:\n      var value = /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} */ (reader.readEnum());\n      msg.setPreprocess(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSeparator(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setMaxchunksize(value);\n      break;\n    case 9:\n      var value = /** @type {number} */ (reader.readUint32());\n      msg.setChunkoverlap(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentstructure(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentsource();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      2,\n      f\n    );\n  }\n  f = message.getDatasource();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getPreprocess();\n  if (f !== 0.0) {\n    writer.writeEnum(\n      6,\n      f\n    );\n  }\n  f = message.getSeparator();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getMaxchunksize();\n  if (f !== 0) {\n    writer.writeUint32(\n      8,\n      f\n    );\n  }\n  f = message.getChunkoverlap();\n  if (f !== 0) {\n    writer.writeUint32(\n      9,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getDocumentstructure();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n};\n\n\n/**\n * @enum {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS = {\n  AUTOMATIC: 0,\n  CUSTOM: 1\n};\n\n/**\n * @enum {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE = {\n  DOCUMENT_SOURCE_MANUAL: 0,\n  DOCUMENT_SOURCE_TOOL: 1\n};\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional DOCUMENT_SOURCE documentSource = 2;\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDocumentsource = function() {\n  return /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest.DOCUMENT_SOURCE} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDocumentsource = function(value) {\n  return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string dataSource = 3;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDatasource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDatasource = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated Content contents = 5;\n * @return {!Array<!proto.Content>}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getContentsList = function() {\n  return /** @type{!Array<!proto.Content>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Content, 5));\n};\n\n\n/**\n * @param {!Array<!proto.Content>} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setContentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.Content=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Content}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.addContents = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.Content, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.clearContentsList = function() {\n  return this.setContentsList([]);\n};\n\n\n/**\n * optional PRE_PROCESS preProcess = 6;\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getPreprocess = function() {\n  return /** @type {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentRequest.PRE_PROCESS} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setPreprocess = function(value) {\n  return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * optional string separator = 7;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getSeparator = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setSeparator = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint32 maxChunkSize = 8;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getMaxchunksize = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setMaxchunksize = function(value) {\n  return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional uint32 chunkOverlap = 9;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getChunkoverlap = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setChunkoverlap = function(value) {\n  return jspb.Message.setProto3IntField(this, 9, value);\n};\n\n\n/**\n * optional string name = 10;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string description = 11;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string documentStructure = 12;\n * @return {string}\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.getDocumentstructure = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentRequest} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentRequest.prototype.setDocumentstructure = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.CreateKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocument.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.CreateKnowledgeDocumentResponse;\n  return proto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocument;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocument.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.CreateKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.CreateKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocument.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocument data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocument>}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocument, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocument>} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocument}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n*/\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.CreateKnowledgeDocumentResponse} returns this\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.CreateKnowledgeDocumentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    documentHash: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    documentId: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n    text: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n    metadata: (f = msg.getMetadata()) && proto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject(includeInstance, f),\n    entities: (f = msg.getEntities()) && proto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment;\n  return proto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentHash(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentId(value);\n      break;\n    case 21:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setText(value);\n      break;\n    case 22:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment.Metadata;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader);\n      msg.setMetadata(value);\n      break;\n    case 23:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment.Entities;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader);\n      msg.setEntities(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentHash();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getDocumentId();\n  if (f.length > 0) {\n    writer.writeString(\n      20,\n      f\n    );\n  }\n  f = message.getText();\n  if (f.length > 0) {\n    writer.writeString(\n      21,\n      f\n    );\n  }\n  f = message.getMetadata();\n  if (f != null) {\n    writer.writeMessage(\n      22,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getEntities();\n  if (f != null) {\n    writer.writeMessage(\n      23,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter\n    );\n  }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    documentHash: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    documentId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    knowledgeDocumentId: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    knowledgeId: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    projectId: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    organizationId: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    documentName: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment.Metadata;\n  return proto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentHash(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeDocumentId(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeId(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectId(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationId(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDocumentHash();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDocumentId();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getKnowledgeDocumentId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getKnowledgeId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getProjectId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getOrganizationId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getDocumentName();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string document_hash = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string document_id = 2;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentId = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 knowledge_document_id = 3;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getKnowledgeDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setKnowledgeDocumentId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 knowledge_id = 4;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getKnowledgeId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setKnowledgeId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional uint64 project_id = 5;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getProjectId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setProjectId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 organization_id = 6;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getOrganizationId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setOrganizationId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string document_name = 7;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.getDocumentName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Metadata} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Metadata.prototype.setDocumentName = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.repeatedFields_ = [1,2,3,4,5,6,7,8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    datesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    productsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    eventsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    peopleList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,\n    timesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    quantitiesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n    locationsList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    industriesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.KnowledgeDocumentSegment.Entities;\n  return proto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addOrganizations(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addDates(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addProducts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEvents(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addPeople(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTimes(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addQuantities(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addLocations(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addIndustries(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getDatesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getProductsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getEventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getPeopleList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n  f = message.getTimesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getQuantitiesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      7,\n      f\n    );\n  }\n  f = message.getLocationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getIndustriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string organizations = 1;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getOrganizationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setOrganizationsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addOrganizations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearOrganizationsList = function() {\n  return this.setOrganizationsList([]);\n};\n\n\n/**\n * repeated string dates = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getDatesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setDatesList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addDates = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearDatesList = function() {\n  return this.setDatesList([]);\n};\n\n\n/**\n * repeated string products = 3;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getProductsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setProductsList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addProducts = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearProductsList = function() {\n  return this.setProductsList([]);\n};\n\n\n/**\n * repeated string events = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getEventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setEventsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addEvents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearEventsList = function() {\n  return this.setEventsList([]);\n};\n\n\n/**\n * repeated string people = 5;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getPeopleList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setPeopleList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addPeople = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearPeopleList = function() {\n  return this.setPeopleList([]);\n};\n\n\n/**\n * repeated string times = 6;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getTimesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setTimesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addTimes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearTimesList = function() {\n  return this.setTimesList([]);\n};\n\n\n/**\n * repeated string quantities = 7;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getQuantitiesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setQuantitiesList = function(value) {\n  return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addQuantities = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearQuantitiesList = function() {\n  return this.setQuantitiesList([]);\n};\n\n\n/**\n * repeated string locations = 8;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getLocationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setLocationsList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addLocations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearLocationsList = function() {\n  return this.setLocationsList([]);\n};\n\n\n/**\n * repeated string industries = 9;\n * @return {!Array<string>}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.getIndustriesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.setIndustriesList = function(value) {\n  return jspb.Message.setField(this, 9, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.addIndustries = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment.Entities} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.Entities.prototype.clearIndustriesList = function() {\n  return this.setIndustriesList([]);\n};\n\n\n/**\n * optional string index = 1;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string document_hash = 19;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getDocumentHash = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setDocumentHash = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional string document_id = 20;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getDocumentId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setDocumentId = function(value) {\n  return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n/**\n * optional string text = 21;\n * @return {string}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getText = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setText = function(value) {\n  return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional Metadata metadata = 22;\n * @return {?proto.knowledge_api.KnowledgeDocumentSegment.Metadata}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getMetadata = function() {\n  return /** @type{?proto.knowledge_api.KnowledgeDocumentSegment.Metadata} */ (\n    jspb.Message.getWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment.Metadata, 22));\n};\n\n\n/**\n * @param {?proto.knowledge_api.KnowledgeDocumentSegment.Metadata|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n*/\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setMetadata = function(value) {\n  return jspb.Message.setWrapperField(this, 22, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.clearMetadata = function() {\n  return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.hasMetadata = function() {\n  return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional Entities entities = 23;\n * @return {?proto.knowledge_api.KnowledgeDocumentSegment.Entities}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.getEntities = function() {\n  return /** @type{?proto.knowledge_api.KnowledgeDocumentSegment.Entities} */ (\n    jspb.Message.getWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment.Entities, 23));\n};\n\n\n/**\n * @param {?proto.knowledge_api.KnowledgeDocumentSegment.Entities|undefined} value\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n*/\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.setEntities = function(value) {\n  return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment} returns this\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.clearEntities = function() {\n  return this.setEntities(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.KnowledgeDocumentSegment.prototype.hasEntities = function() {\n  return jspb.Message.getField(this, 23) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 3:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 4:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional Paginate paginate = 3;\n * @return {?proto.Paginate}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 3));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 4;\n * @return {!Array<!proto.Criteria>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.knowledge_api.KnowledgeDocumentSegment.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse;\n  return proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.knowledge_api.KnowledgeDocumentSegment;\n      reader.readMessage(value,proto.knowledge_api.KnowledgeDocumentSegment.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.knowledge_api.KnowledgeDocumentSegment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated KnowledgeDocumentSegment data = 3;\n * @return {!Array<!proto.knowledge_api.KnowledgeDocumentSegment>}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.knowledge_api.KnowledgeDocumentSegment>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.knowledge_api.KnowledgeDocumentSegment, 3));\n};\n\n\n/**\n * @param {!Array<!proto.knowledge_api.KnowledgeDocumentSegment>} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.knowledge_api.KnowledgeDocumentSegment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.KnowledgeDocumentSegment}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.knowledge_api.KnowledgeDocumentSegment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n*/\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse} returns this\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.knowledge_api.GetAllKnowledgeDocumentSegmentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.UpdateKnowledgeDetailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.UpdateKnowledgeDetailRequest;\n  return proto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.UpdateKnowledgeDetailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.UpdateKnowledgeDetailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDetailRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDetailRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.repeatedFields_ = [1,2,3,4,5,6,7,8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    organizationsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    datesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    productsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    eventsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n    peopleList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,\n    timesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    quantitiesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n    locationsList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n    industriesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,\n    documentname: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n    documentid: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n    index: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addOrganizations(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addDates(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addProducts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEvents(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addPeople(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTimes(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addQuantities(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addLocations(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addIndustries(value);\n      break;\n    case 10:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentname(value);\n      break;\n    case 11:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentid(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getOrganizationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getDatesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n  f = message.getProductsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getEventsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      4,\n      f\n    );\n  }\n  f = message.getPeopleList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n  f = message.getTimesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getQuantitiesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      7,\n      f\n    );\n  }\n  f = message.getLocationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      8,\n      f\n    );\n  }\n  f = message.getIndustriesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      9,\n      f\n    );\n  }\n  f = message.getDocumentname();\n  if (f.length > 0) {\n    writer.writeString(\n      10,\n      f\n    );\n  }\n  f = message.getDocumentid();\n  if (f.length > 0) {\n    writer.writeString(\n      11,\n      f\n    );\n  }\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n};\n\n\n/**\n * repeated string organizations = 1;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getOrganizationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setOrganizationsList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addOrganizations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearOrganizationsList = function() {\n  return this.setOrganizationsList([]);\n};\n\n\n/**\n * repeated string dates = 2;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDatesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDatesList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addDates = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearDatesList = function() {\n  return this.setDatesList([]);\n};\n\n\n/**\n * repeated string products = 3;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getProductsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setProductsList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addProducts = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearProductsList = function() {\n  return this.setProductsList([]);\n};\n\n\n/**\n * repeated string events = 4;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getEventsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setEventsList = function(value) {\n  return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addEvents = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearEventsList = function() {\n  return this.setEventsList([]);\n};\n\n\n/**\n * repeated string people = 5;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getPeopleList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setPeopleList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addPeople = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearPeopleList = function() {\n  return this.setPeopleList([]);\n};\n\n\n/**\n * repeated string times = 6;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getTimesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setTimesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addTimes = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearTimesList = function() {\n  return this.setTimesList([]);\n};\n\n\n/**\n * repeated string quantities = 7;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getQuantitiesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setQuantitiesList = function(value) {\n  return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addQuantities = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearQuantitiesList = function() {\n  return this.setQuantitiesList([]);\n};\n\n\n/**\n * repeated string locations = 8;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getLocationsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setLocationsList = function(value) {\n  return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addLocations = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearLocationsList = function() {\n  return this.setLocationsList([]);\n};\n\n\n/**\n * repeated string industries = 9;\n * @return {!Array<string>}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getIndustriesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setIndustriesList = function(value) {\n  return jspb.Message.setField(this, 9, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.addIndustries = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.clearIndustriesList = function() {\n  return this.setIndustriesList([]);\n};\n\n\n/**\n * optional string documentName = 10;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDocumentname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDocumentname = function(value) {\n  return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string documentId = 11;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getDocumentid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setDocumentid = function(value) {\n  return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string index = 12;\n * @return {string}\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.UpdateKnowledgeDocumentSegmentRequest.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    documentid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    index: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    reason: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest;\n  return proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDocumentid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndex(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setReason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDocumentid();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getIndex();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getReason();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string documentId = 1;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getDocumentid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setDocumentid = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string index = 2;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getIndex = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string reason = 3;\n * @return {string}\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.getReason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest} returns this\n */\nproto.knowledge_api.DeleteKnowledgeDocumentSegmentRequest.prototype.setReason = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\ngoog.object.extend(exports, proto.knowledge_api);\n","// package: knowledge_api\n// file: knowledge-api.proto\n\nvar knowledge_api_pb = require(\"./knowledge-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar KnowledgeService = (function () {\n  function KnowledgeService() {}\n  KnowledgeService.serviceName = \"knowledge_api.KnowledgeService\";\n  return KnowledgeService;\n}());\n\nKnowledgeService.GetKnowledge = {\n  methodName: \"GetKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetKnowledgeRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.GetAllKnowledge = {\n  methodName: \"GetAllKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledge = {\n  methodName: \"CreateKnowledge\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeRequest,\n  responseType: knowledge_api_pb.CreateKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledgeTag = {\n  methodName: \"CreateKnowledgeTag\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeTagRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.CreateKnowledgeDocument = {\n  methodName: \"CreateKnowledgeDocument\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.CreateKnowledgeDocumentRequest,\n  responseType: knowledge_api_pb.CreateKnowledgeDocumentResponse\n};\n\nKnowledgeService.GetAllKnowledgeDocument = {\n  methodName: \"GetAllKnowledgeDocument\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeDocumentRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeDocumentResponse\n};\n\nKnowledgeService.GetAllKnowledgeDocumentSegment = {\n  methodName: \"GetAllKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.GetAllKnowledgeDocumentSegmentRequest,\n  responseType: knowledge_api_pb.GetAllKnowledgeDocumentSegmentResponse\n};\n\nKnowledgeService.UpdateKnowledgeDetail = {\n  methodName: \"UpdateKnowledgeDetail\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.UpdateKnowledgeDetailRequest,\n  responseType: knowledge_api_pb.GetKnowledgeResponse\n};\n\nKnowledgeService.UpdateKnowledgeDocumentSegment = {\n  methodName: \"UpdateKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.UpdateKnowledgeDocumentSegmentRequest,\n  responseType: common_pb.BaseResponse\n};\n\nKnowledgeService.DeleteKnowledgeDocumentSegment = {\n  methodName: \"DeleteKnowledgeDocumentSegment\",\n  service: KnowledgeService,\n  requestStream: false,\n  responseStream: false,\n  requestType: knowledge_api_pb.DeleteKnowledgeDocumentSegmentRequest,\n  responseType: common_pb.BaseResponse\n};\n\nexports.KnowledgeService = KnowledgeService;\n\nfunction KnowledgeServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nKnowledgeServiceClient.prototype.getKnowledge = function getKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledge = function getAllKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledge = function createKnowledge(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledge, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledgeTag = function createKnowledgeTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledgeTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.createKnowledgeDocument = function createKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.CreateKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledgeDocument = function getAllKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.getAllKnowledgeDocumentSegment = function getAllKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.GetAllKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.updateKnowledgeDetail = function updateKnowledgeDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.UpdateKnowledgeDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.updateKnowledgeDocumentSegment = function updateKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.UpdateKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nKnowledgeServiceClient.prototype.deleteKnowledgeDocumentSegment = function deleteKnowledgeDocumentSegment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(KnowledgeService.DeleteKnowledgeDocumentSegment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.KnowledgeServiceClient = KnowledgeServiceClient;\n\n","// source: marketplace-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.marketplace_api.GetAllDeploymentRequest', null, global);\ngoog.exportSymbol('proto.marketplace_api.GetAllDeploymentResponse', null, global);\ngoog.exportSymbol('proto.marketplace_api.SearchableDeployment', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.marketplace_api.GetAllDeploymentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.marketplace_api.GetAllDeploymentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.marketplace_api.GetAllDeploymentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.marketplace_api.GetAllDeploymentRequest.displayName = 'proto.marketplace_api.GetAllDeploymentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.marketplace_api.SearchableDeployment = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.marketplace_api.SearchableDeployment.repeatedFields_, null);\n};\ngoog.inherits(proto.marketplace_api.SearchableDeployment, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.marketplace_api.SearchableDeployment.displayName = 'proto.marketplace_api.SearchableDeployment';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.marketplace_api.GetAllDeploymentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.marketplace_api.GetAllDeploymentResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.marketplace_api.GetAllDeploymentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.marketplace_api.GetAllDeploymentResponse.displayName = 'proto.marketplace_api.GetAllDeploymentResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.marketplace_api.GetAllDeploymentRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.marketplace_api.GetAllDeploymentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.marketplace_api.GetAllDeploymentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.GetAllDeploymentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.marketplace_api.GetAllDeploymentRequest}\n */\nproto.marketplace_api.GetAllDeploymentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.marketplace_api.GetAllDeploymentRequest;\n  return proto.marketplace_api.GetAllDeploymentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.marketplace_api.GetAllDeploymentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.marketplace_api.GetAllDeploymentRequest}\n */\nproto.marketplace_api.GetAllDeploymentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.marketplace_api.GetAllDeploymentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.marketplace_api.GetAllDeploymentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.GetAllDeploymentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.marketplace_api.GetAllDeploymentRequest} returns this\n*/\nproto.marketplace_api.GetAllDeploymentRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.GetAllDeploymentRequest} returns this\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.marketplace_api.GetAllDeploymentRequest} returns this\n*/\nproto.marketplace_api.GetAllDeploymentRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.marketplace_api.GetAllDeploymentRequest} returns this\n */\nproto.marketplace_api.GetAllDeploymentRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.marketplace_api.SearchableDeployment.repeatedFields_ = [14,12];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.marketplace_api.SearchableDeployment.prototype.toObject = function(opt_includeInstance) {\n  return proto.marketplace_api.SearchableDeployment.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.marketplace_api.SearchableDeployment} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.SearchableDeployment.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    type: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n    tagList: (f = jspb.Message.getRepeatedField(msg, 14)) == null ? undefined : f,\n    language: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    organization: (f = msg.getOrganization()) && common_pb.Organization.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 18, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    appappearance: (f = msg.getAppappearance()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    webappearance: (f = msg.getWebappearance()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    modelproviderid: jspb.Message.getFieldWithDefault(msg, 26, \"0\"),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 27, \"\"),\n    modeloptionsList: jspb.Message.toObjectList(msg.getModeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.marketplace_api.SearchableDeployment}\n */\nproto.marketplace_api.SearchableDeployment.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.marketplace_api.SearchableDeployment;\n  return proto.marketplace_api.SearchableDeployment.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.marketplace_api.SearchableDeployment} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.marketplace_api.SearchableDeployment}\n */\nproto.marketplace_api.SearchableDeployment.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationid(value);\n      break;\n    case 14:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTag(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 17:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setOrganization(value);\n      break;\n    case 18:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 20:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 21:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 24:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setAppappearance(value);\n      break;\n    case 25:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setWebappearance(value);\n      break;\n    case 26:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setModelproviderid(value);\n      break;\n    case 27:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 12:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addModeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.marketplace_api.SearchableDeployment.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.marketplace_api.SearchableDeployment.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.marketplace_api.SearchableDeployment} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.SearchableDeployment.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n  f = message.getTagList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      14,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getOrganization();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      18,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      20,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      21,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getAppappearance();\n  if (f != null) {\n    writer.writeMessage(\n      24,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getWebappearance();\n  if (f != null) {\n    writer.writeMessage(\n      25,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      26,\n      f\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      27,\n      f\n    );\n  }\n  f = message.getModeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      12,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string status = 2;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 3;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string type = 4;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string projectId = 7;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string organizationId = 8;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * repeated string tag = 14;\n * @return {!Array<string>}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getTagList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 14));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setTagList = function(value) {\n  return jspb.Message.setField(this, 14, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.addTag = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 14, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearTagList = function() {\n  return this.setTagList([]);\n};\n\n\n/**\n * optional string language = 16;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional Organization organization = 17;\n * @return {?proto.Organization}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getOrganization = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 17));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setOrganization = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearOrganization = function() {\n  return this.setOrganization(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.SearchableDeployment.prototype.hasOrganization = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional string name = 18;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n/**\n * optional string description = 19;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 20;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 20));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 20, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.SearchableDeployment.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 21;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 21));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.SearchableDeployment.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct appAppearance = 24;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getAppappearance = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 24));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setAppappearance = function(value) {\n  return jspb.Message.setWrapperField(this, 24, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearAppappearance = function() {\n  return this.setAppappearance(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.SearchableDeployment.prototype.hasAppappearance = function() {\n  return jspb.Message.getField(this, 24) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct webAppearance = 25;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getWebappearance = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 25));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setWebappearance = function(value) {\n  return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearWebappearance = function() {\n  return this.setWebappearance(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.SearchableDeployment.prototype.hasWebappearance = function() {\n  return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional uint64 modelProviderId = 26;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getModelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 26, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setModelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 26, value);\n};\n\n\n/**\n * optional string modelProviderName = 27;\n * @return {string}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 27, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 27, value);\n};\n\n\n/**\n * repeated Metadata modelOptions = 12;\n * @return {!Array<!proto.Metadata>}\n */\nproto.marketplace_api.SearchableDeployment.prototype.getModeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 12));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n*/\nproto.marketplace_api.SearchableDeployment.prototype.setModeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 12, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.marketplace_api.SearchableDeployment.prototype.addModeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 12, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.marketplace_api.SearchableDeployment} returns this\n */\nproto.marketplace_api.SearchableDeployment.prototype.clearModeloptionsList = function() {\n  return this.setModeloptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.marketplace_api.GetAllDeploymentResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.marketplace_api.GetAllDeploymentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.marketplace_api.GetAllDeploymentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.GetAllDeploymentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.marketplace_api.SearchableDeployment.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.marketplace_api.GetAllDeploymentResponse}\n */\nproto.marketplace_api.GetAllDeploymentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.marketplace_api.GetAllDeploymentResponse;\n  return proto.marketplace_api.GetAllDeploymentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.marketplace_api.GetAllDeploymentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.marketplace_api.GetAllDeploymentResponse}\n */\nproto.marketplace_api.GetAllDeploymentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.marketplace_api.SearchableDeployment;\n      reader.readMessage(value,proto.marketplace_api.SearchableDeployment.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.marketplace_api.GetAllDeploymentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.marketplace_api.GetAllDeploymentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.marketplace_api.GetAllDeploymentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.marketplace_api.SearchableDeployment.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated SearchableDeployment data = 3;\n * @return {!Array<!proto.marketplace_api.SearchableDeployment>}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.marketplace_api.SearchableDeployment>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.marketplace_api.SearchableDeployment, 3));\n};\n\n\n/**\n * @param {!Array<!proto.marketplace_api.SearchableDeployment>} value\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n*/\nproto.marketplace_api.GetAllDeploymentResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.marketplace_api.SearchableDeployment=} opt_value\n * @param {number=} opt_index\n * @return {!proto.marketplace_api.SearchableDeployment}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.marketplace_api.SearchableDeployment, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n*/\nproto.marketplace_api.GetAllDeploymentResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n*/\nproto.marketplace_api.GetAllDeploymentResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.marketplace_api.GetAllDeploymentResponse} returns this\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.marketplace_api.GetAllDeploymentResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.marketplace_api);\n","// package: marketplace_api\n// file: marketplace-api.proto\n\nvar marketplace_api_pb = require(\"./marketplace-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar MarketplaceService = (function () {\n  function MarketplaceService() {}\n  MarketplaceService.serviceName = \"marketplace_api.MarketplaceService\";\n  return MarketplaceService;\n}());\n\nMarketplaceService.GetAllDeployment = {\n  methodName: \"GetAllDeployment\",\n  service: MarketplaceService,\n  requestStream: false,\n  responseStream: false,\n  requestType: marketplace_api_pb.GetAllDeploymentRequest,\n  responseType: marketplace_api_pb.GetAllDeploymentResponse\n};\n\nexports.MarketplaceService = MarketplaceService;\n\nfunction MarketplaceServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nMarketplaceServiceClient.prototype.getAllDeployment = function getAllDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(MarketplaceService.GetAllDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.MarketplaceServiceClient = MarketplaceServiceClient;\n\n","// source: document-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\ngoog.exportSymbol('proto.document_api.IndexKnowledgeDocumentRequest', null, global);\ngoog.exportSymbol('proto.document_api.IndexKnowledgeDocumentResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.document_api.IndexKnowledgeDocumentRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.document_api.IndexKnowledgeDocumentRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.document_api.IndexKnowledgeDocumentRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.document_api.IndexKnowledgeDocumentRequest.displayName = 'proto.document_api.IndexKnowledgeDocumentRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.document_api.IndexKnowledgeDocumentResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.document_api.IndexKnowledgeDocumentResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.document_api.IndexKnowledgeDocumentResponse.displayName = 'proto.document_api.IndexKnowledgeDocumentResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.document_api.IndexKnowledgeDocumentRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.document_api.IndexKnowledgeDocumentRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    knowledgeid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    knowledgedocumentidList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n    indextype: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.document_api.IndexKnowledgeDocumentRequest;\n  return proto.document_api.IndexKnowledgeDocumentRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setKnowledgeid(value);\n      break;\n    case 2:\n      var values = /** @type {!Array<string>} */ (reader.isDelimited() ? reader.readPackedUint64String() : [reader.readUint64String()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addKnowledgedocumentid(values[i]);\n      }\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIndextype(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.document_api.IndexKnowledgeDocumentRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.document_api.IndexKnowledgeDocumentRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getKnowledgeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getKnowledgedocumentidList();\n  if (f.length > 0) {\n    writer.writePackedUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getIndextype();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 knowledgeId = 1;\n * @return {string}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getKnowledgeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setKnowledgeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated uint64 knowledgeDocumentId = 2;\n * @return {!Array<string>}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getKnowledgedocumentidList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setKnowledgedocumentidList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.addKnowledgedocumentid = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.clearKnowledgedocumentidList = function() {\n  return this.setKnowledgedocumentidList([]);\n};\n\n\n/**\n * optional string indexType = 3;\n * @return {string}\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.getIndextype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.document_api.IndexKnowledgeDocumentRequest} returns this\n */\nproto.document_api.IndexKnowledgeDocumentRequest.prototype.setIndextype = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.document_api.IndexKnowledgeDocumentResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.document_api.IndexKnowledgeDocumentResponse;\n  return proto.document_api.IndexKnowledgeDocumentResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.document_api.IndexKnowledgeDocumentResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.document_api.IndexKnowledgeDocumentResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.document_api.IndexKnowledgeDocumentResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse} returns this\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.document_api.IndexKnowledgeDocumentResponse} returns this\n */\nproto.document_api.IndexKnowledgeDocumentResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\ngoog.object.extend(exports, proto.document_api);\n","// package: document_api\n// file: document-api.proto\n\nvar document_api_pb = require(\"./document-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar DocumentService = (function () {\n  function DocumentService() {}\n  DocumentService.serviceName = \"document_api.DocumentService\";\n  return DocumentService;\n}());\n\nDocumentService.IndexKnowledgeDocument = {\n  methodName: \"IndexKnowledgeDocument\",\n  service: DocumentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: document_api_pb.IndexKnowledgeDocumentRequest,\n  responseType: document_api_pb.IndexKnowledgeDocumentResponse\n};\n\nexports.DocumentService = DocumentService;\n\nfunction DocumentServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nDocumentServiceClient.prototype.indexKnowledgeDocument = function indexKnowledgeDocument(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(DocumentService.IndexKnowledgeDocument, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.DocumentServiceClient = DocumentServiceClient;\n\n","// source: vault-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.vault_api.CreateProviderCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.CreateToolCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.DeleteCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetAllOrganizationCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetAllOrganizationCredentialResponse', null, global);\ngoog.exportSymbol('proto.vault_api.GetCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.GetCredentialResponse', null, global);\ngoog.exportSymbol('proto.vault_api.GetProviderCredentialRequest', null, global);\ngoog.exportSymbol('proto.vault_api.VaultCredential', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.VaultCredential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.VaultCredential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.VaultCredential.displayName = 'proto.vault_api.VaultCredential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.CreateProviderCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.CreateProviderCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.CreateProviderCredentialRequest.displayName = 'proto.vault_api.CreateProviderCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.CreateToolCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.CreateToolCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.CreateToolCredentialRequest.displayName = 'proto.vault_api.CreateToolCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.DeleteCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.DeleteCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.DeleteCredentialRequest.displayName = 'proto.vault_api.DeleteCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetAllOrganizationCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.vault_api.GetAllOrganizationCredentialRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.vault_api.GetAllOrganizationCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetAllOrganizationCredentialRequest.displayName = 'proto.vault_api.GetAllOrganizationCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetAllOrganizationCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.vault_api.GetAllOrganizationCredentialResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.vault_api.GetAllOrganizationCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetAllOrganizationCredentialResponse.displayName = 'proto.vault_api.GetAllOrganizationCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetProviderCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.GetProviderCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetProviderCredentialRequest.displayName = 'proto.vault_api.GetProviderCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.GetCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetCredentialResponse.displayName = 'proto.vault_api.GetCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.vault_api.GetCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.vault_api.GetCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.vault_api.GetCredentialRequest.displayName = 'proto.vault_api.GetCredentialRequest';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.VaultCredential.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.VaultCredential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.VaultCredential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.VaultCredential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    value: (f = msg.getValue()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    status: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    vaultlevel: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n    vaultlevelid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    vaulttype: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    vaulttypeid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    lastuseddate: (f = msg.getLastuseddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.VaultCredential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.VaultCredential;\n  return proto.vault_api.VaultCredential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.VaultCredential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.VaultCredential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setValue(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVaultlevel(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaultlevelid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVaulttype(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaulttypeid(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 10:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setLastuseddate(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.VaultCredential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.VaultCredential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.VaultCredential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.VaultCredential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getVaultlevel();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n  f = message.getVaultlevelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getVaulttype();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getVaulttypeid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getLastuseddate();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Struct value = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.vault_api.VaultCredential.prototype.getValue = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setValue = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearValue = function() {\n  return this.setValue(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasValue = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string status = 4;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string vaultLevel = 5;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getVaultlevel = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setVaultlevel = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint64 vaultLevelId = 6;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getVaultlevelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setVaultlevelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string vaultType = 7;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getVaulttype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setVaulttype = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional uint64 vaultTypeId = 8;\n * @return {string}\n */\nproto.vault_api.VaultCredential.prototype.getVaulttypeid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.setVaulttypeid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp lastUsedDate = 10;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.vault_api.VaultCredential.prototype.getLastuseddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 10));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.vault_api.VaultCredential} returns this\n*/\nproto.vault_api.VaultCredential.prototype.setLastuseddate = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.VaultCredential} returns this\n */\nproto.vault_api.VaultCredential.prototype.clearLastuseddate = function() {\n  return this.setLastuseddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.VaultCredential.prototype.hasLastuseddate = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.CreateProviderCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.CreateProviderCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateProviderCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    providerid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    credential: (f = msg.getCredential()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    providername: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.CreateProviderCredentialRequest}\n */\nproto.vault_api.CreateProviderCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.CreateProviderCredentialRequest;\n  return proto.vault_api.CreateProviderCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.CreateProviderCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.CreateProviderCredentialRequest}\n */\nproto.vault_api.CreateProviderCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProviderid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProvidername(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.CreateProviderCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.CreateProviderCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateProviderCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getProvidername();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 providerId = 1;\n * @return {string}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getProviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.setProviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct credential = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getCredential = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n*/\nproto.vault_api.CreateProviderCredentialRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string providerName = 4;\n * @return {string}\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.getProvidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateProviderCredentialRequest} returns this\n */\nproto.vault_api.CreateProviderCredentialRequest.prototype.setProvidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.CreateToolCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.CreateToolCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateToolCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    toolid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    credential: (f = msg.getCredential()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    toolname: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.CreateToolCredentialRequest}\n */\nproto.vault_api.CreateToolCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.CreateToolCredentialRequest;\n  return proto.vault_api.CreateToolCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.CreateToolCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.CreateToolCredentialRequest}\n */\nproto.vault_api.CreateToolCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setToolid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setToolname(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.CreateToolCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.CreateToolCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.CreateToolCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getToolid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getToolname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 toolId = 1;\n * @return {string}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.getToolid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateToolCredentialRequest} returns this\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.setToolid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct credential = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.getCredential = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.vault_api.CreateToolCredentialRequest} returns this\n*/\nproto.vault_api.CreateToolCredentialRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.CreateToolCredentialRequest} returns this\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateToolCredentialRequest} returns this\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string toolName = 4;\n * @return {string}\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.getToolname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.CreateToolCredentialRequest} returns this\n */\nproto.vault_api.CreateToolCredentialRequest.prototype.setToolname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.DeleteCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.DeleteCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.DeleteCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    vaultid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.DeleteCredentialRequest}\n */\nproto.vault_api.DeleteCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.DeleteCredentialRequest;\n  return proto.vault_api.DeleteCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.DeleteCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.DeleteCredentialRequest}\n */\nproto.vault_api.DeleteCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaultid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.DeleteCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.DeleteCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.DeleteCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVaultid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 vaultId = 1;\n * @return {string}\n */\nproto.vault_api.DeleteCredentialRequest.prototype.getVaultid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.DeleteCredentialRequest} returns this\n */\nproto.vault_api.DeleteCredentialRequest.prototype.setVaultid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetAllOrganizationCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetAllOrganizationCredentialRequest;\n  return proto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetAllOrganizationCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetAllOrganizationCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.vault_api.GetAllOrganizationCredentialRequest} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetAllOrganizationCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.vault_api.VaultCredential.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetAllOrganizationCredentialResponse;\n  return proto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.vault_api.VaultCredential;\n      reader.readMessage(value,proto.vault_api.VaultCredential.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetAllOrganizationCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetAllOrganizationCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.vault_api.VaultCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated VaultCredential data = 3;\n * @return {!Array<!proto.vault_api.VaultCredential>}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.vault_api.VaultCredential>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.vault_api.VaultCredential, 3));\n};\n\n\n/**\n * @param {!Array<!proto.vault_api.VaultCredential>} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.vault_api.VaultCredential=} opt_value\n * @param {number=} opt_index\n * @return {!proto.vault_api.VaultCredential}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.vault_api.VaultCredential, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n*/\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetAllOrganizationCredentialResponse} returns this\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetAllOrganizationCredentialResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetProviderCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetProviderCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetProviderCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    providerid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetProviderCredentialRequest}\n */\nproto.vault_api.GetProviderCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetProviderCredentialRequest;\n  return proto.vault_api.GetProviderCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetProviderCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetProviderCredentialRequest}\n */\nproto.vault_api.GetProviderCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProviderid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetProviderCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetProviderCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetProviderCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getProviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 providerId = 3;\n * @return {string}\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.getProviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.GetProviderCredentialRequest} returns this\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.setProviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 organizationId = 4;\n * @return {string}\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.GetProviderCredentialRequest} returns this\n */\nproto.vault_api.GetProviderCredentialRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.vault_api.VaultCredential.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetCredentialResponse}\n */\nproto.vault_api.GetCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetCredentialResponse;\n  return proto.vault_api.GetCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetCredentialResponse}\n */\nproto.vault_api.GetCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.vault_api.VaultCredential;\n      reader.readMessage(value,proto.vault_api.VaultCredential.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.vault_api.VaultCredential.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.vault_api.GetCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional VaultCredential data = 3;\n * @return {?proto.vault_api.VaultCredential}\n */\nproto.vault_api.GetCredentialResponse.prototype.getData = function() {\n  return /** @type{?proto.vault_api.VaultCredential} */ (\n    jspb.Message.getWrapperField(this, proto.vault_api.VaultCredential, 3));\n};\n\n\n/**\n * @param {?proto.vault_api.VaultCredential|undefined} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n*/\nproto.vault_api.GetCredentialResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.vault_api.GetCredentialResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n*/\nproto.vault_api.GetCredentialResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.vault_api.GetCredentialResponse} returns this\n */\nproto.vault_api.GetCredentialResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.vault_api.GetCredentialResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.vault_api.GetCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.vault_api.GetCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.vault_api.GetCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    vaultid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.vault_api.GetCredentialRequest}\n */\nproto.vault_api.GetCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.vault_api.GetCredentialRequest;\n  return proto.vault_api.GetCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.vault_api.GetCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.vault_api.GetCredentialRequest}\n */\nproto.vault_api.GetCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setVaultid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.vault_api.GetCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.vault_api.GetCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.vault_api.GetCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.vault_api.GetCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getVaultid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 vaultId = 1;\n * @return {string}\n */\nproto.vault_api.GetCredentialRequest.prototype.getVaultid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.vault_api.GetCredentialRequest} returns this\n */\nproto.vault_api.GetCredentialRequest.prototype.setVaultid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\ngoog.object.extend(exports, proto.vault_api);\n","// package: vault_api\n// file: vault-api.proto\n\nvar vault_api_pb = require(\"./vault-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar VaultService = (function () {\n  function VaultService() {}\n  VaultService.serviceName = \"vault_api.VaultService\";\n  return VaultService;\n}());\n\nVaultService.CreateProviderCredential = {\n  methodName: \"CreateProviderCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.CreateProviderCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.CreateToolCredential = {\n  methodName: \"CreateToolCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.CreateToolCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetAllOrganizationCredential = {\n  methodName: \"GetAllOrganizationCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetAllOrganizationCredentialRequest,\n  responseType: vault_api_pb.GetAllOrganizationCredentialResponse\n};\n\nVaultService.DeleteCredential = {\n  methodName: \"DeleteCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.DeleteCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetProviderCredential = {\n  methodName: \"GetProviderCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetProviderCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetCredential = {\n  methodName: \"GetCredential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nVaultService.GetOauth2Credential = {\n  methodName: \"GetOauth2Credential\",\n  service: VaultService,\n  requestStream: false,\n  responseStream: false,\n  requestType: vault_api_pb.GetCredentialRequest,\n  responseType: vault_api_pb.GetCredentialResponse\n};\n\nexports.VaultService = VaultService;\n\nfunction VaultServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nVaultServiceClient.prototype.createProviderCredential = function createProviderCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.CreateProviderCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.createToolCredential = function createToolCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.CreateToolCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getAllOrganizationCredential = function getAllOrganizationCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetAllOrganizationCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.deleteCredential = function deleteCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.DeleteCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getProviderCredential = function getProviderCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetProviderCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getCredential = function getCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVaultServiceClient.prototype.getOauth2Credential = function getOauth2Credential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VaultService.GetOauth2Credential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.VaultServiceClient = VaultServiceClient;\n\n","// source: endpoint-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.endpoint_api.AggregatedEndpointAnalytics', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointCacheConfigurationRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointCacheConfigurationResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointProviderModelRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointProviderModelResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRetryConfigurationRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointRetryConfigurationResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.CreateEndpointTagRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.Endpoint', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointAttribute', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointCacheConfiguration', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointLog', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointProviderModel', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointProviderModelAttribute', null, global);\ngoog.exportSymbol('proto.endpoint_api.EndpointRetryConfiguration', null, global);\ngoog.exportSymbol('proto.endpoint_api.ForkEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointLogRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointLogResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointProviderModelRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointProviderModelResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetAllEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointLogRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointLogResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.GetEndpointResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointDetailRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointVersionRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateEndpointVersionResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointAttribute = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointAttribute, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointAttribute.displayName = 'proto.endpoint_api.EndpointAttribute';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointProviderModelAttribute = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointProviderModelAttribute.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointProviderModelAttribute, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointProviderModelAttribute.displayName = 'proto.endpoint_api.EndpointProviderModelAttribute';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.CreateEndpointRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRequest.displayName = 'proto.endpoint_api.CreateEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointResponse.displayName = 'proto.endpoint_api.CreateEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointProviderModel = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointProviderModel.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointProviderModel, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointProviderModel.displayName = 'proto.endpoint_api.EndpointProviderModel';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.AggregatedEndpointAnalytics = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.AggregatedEndpointAnalytics, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.AggregatedEndpointAnalytics.displayName = 'proto.endpoint_api.AggregatedEndpointAnalytics';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.Endpoint = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.Endpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.Endpoint.displayName = 'proto.endpoint_api.Endpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointProviderModelRequest.displayName = 'proto.endpoint_api.CreateEndpointProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointProviderModelResponse.displayName = 'proto.endpoint_api.CreateEndpointProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointRequest.displayName = 'proto.endpoint_api.GetEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointResponse.displayName = 'proto.endpoint_api.GetEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointRequest.displayName = 'proto.endpoint_api.GetAllEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointResponse.displayName = 'proto.endpoint_api.GetAllEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointProviderModelRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointProviderModelRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointProviderModelRequest.displayName = 'proto.endpoint_api.GetAllEndpointProviderModelRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointProviderModelResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointProviderModelResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointProviderModelResponse.displayName = 'proto.endpoint_api.GetAllEndpointProviderModelResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointVersionRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointVersionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointVersionRequest.displayName = 'proto.endpoint_api.UpdateEndpointVersionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointVersionResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointVersionResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointVersionResponse.displayName = 'proto.endpoint_api.UpdateEndpointVersionResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointRetryConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointRetryConfiguration.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointRetryConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointRetryConfiguration.displayName = 'proto.endpoint_api.EndpointRetryConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointCacheConfiguration = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointCacheConfiguration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointCacheConfiguration.displayName = 'proto.endpoint_api.EndpointCacheConfiguration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRetryConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRetryConfigurationRequest.displayName = 'proto.endpoint_api.CreateEndpointRetryConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointRetryConfigurationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointRetryConfigurationResponse.displayName = 'proto.endpoint_api.CreateEndpointRetryConfigurationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointCacheConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointCacheConfigurationRequest.displayName = 'proto.endpoint_api.CreateEndpointCacheConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointCacheConfigurationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointCacheConfigurationResponse.displayName = 'proto.endpoint_api.CreateEndpointCacheConfigurationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.CreateEndpointTagRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.CreateEndpointTagRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.CreateEndpointTagRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.CreateEndpointTagRequest.displayName = 'proto.endpoint_api.CreateEndpointTagRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ForkEndpointRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ForkEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ForkEndpointRequest.displayName = 'proto.endpoint_api.ForkEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateEndpointDetailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateEndpointDetailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateEndpointDetailRequest.displayName = 'proto.endpoint_api.UpdateEndpointDetailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.EndpointLog.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointLog.displayName = 'proto.endpoint_api.EndpointLog';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointLogRequest.displayName = 'proto.endpoint_api.GetAllEndpointLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetAllEndpointLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.GetAllEndpointLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.GetAllEndpointLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetAllEndpointLogResponse.displayName = 'proto.endpoint_api.GetAllEndpointLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointLogRequest.displayName = 'proto.endpoint_api.GetEndpointLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.GetEndpointLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.GetEndpointLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.GetEndpointLogResponse.displayName = 'proto.endpoint_api.GetEndpointLogResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointAttribute.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointAttribute.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointAttribute} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointAttribute.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    source: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    language: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.EndpointAttribute.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointAttribute;\n  return proto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointAttribute} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointAttribute.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointAttribute.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointAttribute} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointAttribute.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string source = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string language = 6;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string name = 7;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string description = 8;\n * @return {string}\n */\nproto.endpoint_api.EndpointAttribute.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointAttribute} returns this\n */\nproto.endpoint_api.EndpointAttribute.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointProviderModelAttribute.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointProviderModelAttribute.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModelAttribute.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    description: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    chatcompleteprompt: (f = msg.getChatcompleteprompt()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    modelproviderid: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n    endpointmodeloptionsList: jspb.Message.toObjectList(msg.getEndpointmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointProviderModelAttribute;\n  return proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 2:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setChatcompleteprompt(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setModelproviderid(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 8:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addEndpointmodeloptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointProviderModelAttribute} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getChatcompleteprompt();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      7,\n      f\n    );\n  }\n  f = message.getEndpointmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      8,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string description = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt chatCompletePrompt = 2;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getChatcompleteprompt = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 2));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n*/\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setChatcompleteprompt = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.clearChatcompleteprompt = function() {\n  return this.setChatcompleteprompt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.hasChatcompleteprompt = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional uint64 modelProviderId = 6;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getModelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setModelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional string modelProviderName = 7;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * repeated Metadata endpointModelOptions = 8;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.getEndpointmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 8));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n*/\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.setEndpointmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.addEndpointmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointProviderModelAttribute} returns this\n */\nproto.endpoint_api.EndpointProviderModelAttribute.prototype.clearEndpointmodeloptionsList = function() {\n  return this.setEndpointmodeloptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.CreateEndpointRequest.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointprovidermodelattribute: (f = msg.getEndpointprovidermodelattribute()) && proto.endpoint_api.EndpointProviderModelAttribute.toObject(includeInstance, f),\n    endpointattribute: (f = msg.getEndpointattribute()) && proto.endpoint_api.EndpointAttribute.toObject(includeInstance, f),\n    retryconfiguration: (f = msg.getRetryconfiguration()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    cacheconfiguration: (f = msg.getCacheconfiguration()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRequest}\n */\nproto.endpoint_api.CreateEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRequest;\n  return proto.endpoint_api.CreateEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRequest}\n */\nproto.endpoint_api.CreateEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.endpoint_api.EndpointProviderModelAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodelattribute(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointAttribute.deserializeBinaryFromReader);\n      msg.setEndpointattribute(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setRetryconfiguration(value);\n      break;\n    case 4:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setCacheconfiguration(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointprovidermodelattribute();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointattribute();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointAttribute.serializeBinaryToWriter\n    );\n  }\n  f = message.getRetryconfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getCacheconfiguration();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional EndpointProviderModelAttribute endpointProviderModelAttribute = 1;\n * @return {?proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getEndpointprovidermodelattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModelAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModelAttribute, 1));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModelAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setEndpointprovidermodelattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearEndpointprovidermodelattribute = function() {\n  return this.setEndpointprovidermodelattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasEndpointprovidermodelattribute = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional EndpointAttribute endpointAttribute = 2;\n * @return {?proto.endpoint_api.EndpointAttribute}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getEndpointattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointAttribute, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setEndpointattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearEndpointattribute = function() {\n  return this.setEndpointattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasEndpointattribute = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional EndpointRetryConfiguration retryConfiguration = 3;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getRetryconfiguration = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setRetryconfiguration = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearRetryconfiguration = function() {\n  return this.setRetryconfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasRetryconfiguration = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional EndpointCacheConfiguration cacheConfiguration = 4;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getCacheconfiguration = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 4));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRequest.prototype.setCacheconfiguration = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearCacheconfiguration = function() {\n  return this.setCacheconfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.hasCacheconfiguration = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * repeated string tags = 5;\n * @return {!Array<string>}\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.CreateEndpointRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointResponse}\n */\nproto.endpoint_api.CreateEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointResponse;\n  return proto.endpoint_api.CreateEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointResponse}\n */\nproto.endpoint_api.CreateEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointResponse} returns this\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointProviderModel.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointProviderModel.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointProviderModel} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModel.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    chatcompleteprompt: (f = msg.getChatcompleteprompt()) && common_pb.TextChatCompletePrompt.toObject(includeInstance, f),\n    modelproviderid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    modelprovidername: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    endpointmodeloptionsList: jspb.Message.toObjectList(msg.getEndpointmodeloptionsList(),\n    common_pb.Metadata.toObject, includeInstance),\n    status: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n    createdby: jspb.Message.getFieldWithDefault(msg, 13, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 15, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 19, \"0\"),\n    description: jspb.Message.getFieldWithDefault(msg, 20, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.EndpointProviderModel.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointProviderModel;\n  return proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointProviderModel} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new common_pb.TextChatCompletePrompt;\n      reader.readMessage(value,common_pb.TextChatCompletePrompt.deserializeBinaryFromReader);\n      msg.setChatcompleteprompt(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setModelproviderid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModelprovidername(value);\n      break;\n    case 5:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addEndpointmodeloptions(value);\n      break;\n    case 12:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 13:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 14:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 16:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    case 17:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 18:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 20:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointProviderModel} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getChatcompleteprompt();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.TextChatCompletePrompt.serializeBinaryToWriter\n    );\n  }\n  f = message.getModelproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getModelprovidername();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getEndpointmodeloptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      5,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      12,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      13,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      15,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      16,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      18,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      19,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      20,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional TextChatCompletePrompt chatCompletePrompt = 2;\n * @return {?proto.TextChatCompletePrompt}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getChatcompleteprompt = function() {\n  return /** @type{?proto.TextChatCompletePrompt} */ (\n    jspb.Message.getWrapperField(this, common_pb.TextChatCompletePrompt, 2));\n};\n\n\n/**\n * @param {?proto.TextChatCompletePrompt|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setChatcompleteprompt = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearChatcompleteprompt = function() {\n  return this.setChatcompleteprompt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasChatcompleteprompt = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional uint64 modelProviderId = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getModelproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setModelproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string modelProviderName = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getModelprovidername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setModelprovidername = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * repeated Metadata endpointModelOptions = 5;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getEndpointmodeloptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 5));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setEndpointmodeloptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.addEndpointmodeloptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearEndpointmodeloptionsList = function() {\n  return this.setEndpointmodeloptionsList([]);\n};\n\n\n/**\n * optional string status = 12;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional uint64 createdBy = 13;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 13, value);\n};\n\n\n/**\n * optional User createdUser = 14;\n * @return {?proto.User}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 14));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 15;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 15, value);\n};\n\n\n/**\n * optional User updatedUser = 16;\n * @return {?proto.User}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 16));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n*/\nproto.endpoint_api.EndpointProviderModel.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional uint64 endpointId = 19;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 19, value);\n};\n\n\n/**\n * optional string description = 20;\n * @return {string}\n */\nproto.endpoint_api.EndpointProviderModel.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointProviderModel} returns this\n */\nproto.endpoint_api.EndpointProviderModel.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.AggregatedEndpointAnalytics.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    count: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    totalinputcost: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0),\n    totaloutputcost: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0),\n    totaltoken: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    successcount: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    errorcount: jspb.Message.getFieldWithDefault(msg, 6, \"0\"),\n    p50latency: jspb.Message.getFloatingPointFieldWithDefault(msg, 7, 0.0),\n    p99latency: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0),\n    lastactivity: (f = msg.getLastactivity()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.AggregatedEndpointAnalytics;\n  return proto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCount(value);\n      break;\n    case 2:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setTotalinputcost(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setTotaloutputcost(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTotaltoken(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSuccesscount(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setErrorcount(value);\n      break;\n    case 7:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setP50latency(value);\n      break;\n    case 8:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setP99latency(value);\n      break;\n    case 9:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setLastactivity(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.AggregatedEndpointAnalytics} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTotalinputcost();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      2,\n      f\n    );\n  }\n  f = message.getTotaloutputcost();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      3,\n      f\n    );\n  }\n  f = message.getTotaltoken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getSuccesscount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getErrorcount();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n  f = message.getP50latency();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      7,\n      f\n    );\n  }\n  f = message.getP99latency();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      8,\n      f\n    );\n  }\n  f = message.getLastactivity();\n  if (f != null) {\n    writer.writeMessage(\n      9,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 count = 1;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getCount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setCount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional float totalInputCost = 2;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotalinputcost = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotalinputcost = function(value) {\n  return jspb.Message.setProto3FloatField(this, 2, value);\n};\n\n\n/**\n * optional float totalOutputCost = 3;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotaloutputcost = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotaloutputcost = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n/**\n * optional uint64 totalToken = 4;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getTotaltoken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setTotaltoken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional uint64 successCount = 5;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getSuccesscount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setSuccesscount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 errorCount = 6;\n * @return {string}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getErrorcount = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setErrorcount = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n/**\n * optional float p50Latency = 7;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getP50latency = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 7, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setP50latency = function(value) {\n  return jspb.Message.setProto3FloatField(this, 7, value);\n};\n\n\n/**\n * optional float p99Latency = 8;\n * @return {number}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getP99latency = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setP99latency = function(value) {\n  return jspb.Message.setProto3FloatField(this, 8, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp lastActivity = 9;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.getLastactivity = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 9));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n*/\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.setLastactivity = function(value) {\n  return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.AggregatedEndpointAnalytics} returns this\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.clearLastactivity = function() {\n  return this.setLastactivity(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.AggregatedEndpointAnalytics.prototype.hasLastactivity = function() {\n  return jspb.Message.getField(this, 9) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.Endpoint.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.Endpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.Endpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.Endpoint.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    status: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    visibility: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    source: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    sourceidentifier: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    endpointprovidermodel: (f = msg.getEndpointprovidermodel()) && proto.endpoint_api.EndpointProviderModel.toObject(includeInstance, f),\n    endpointanalytics: (f = msg.getEndpointanalytics()) && proto.endpoint_api.AggregatedEndpointAnalytics.toObject(includeInstance, f),\n    endpointretry: (f = msg.getEndpointretry()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    endpointcaching: (f = msg.getEndpointcaching()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    endpointtag: (f = msg.getEndpointtag()) && common_pb.Tag.toObject(includeInstance, f),\n    language: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n    organization: (f = msg.getOrganization()) && common_pb.Organization.toObject(includeInstance, f),\n    name: jspb.Message.getFieldWithDefault(msg, 18, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 19, \"\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    createdby: jspb.Message.getFieldWithDefault(msg, 22, \"0\"),\n    createduser: (f = msg.getCreateduser()) && common_pb.User.toObject(includeInstance, f),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 24, \"0\"),\n    updateduser: (f = msg.getUpdateduser()) && common_pb.User.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.Endpoint.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.Endpoint;\n  return proto.endpoint_api.Endpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.Endpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.Endpoint.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVisibility(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setSourceidentifier(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    case 10:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodel(value);\n      break;\n    case 11:\n      var value = new proto.endpoint_api.AggregatedEndpointAnalytics;\n      reader.readMessage(value,proto.endpoint_api.AggregatedEndpointAnalytics.deserializeBinaryFromReader);\n      msg.setEndpointanalytics(value);\n      break;\n    case 12:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setEndpointretry(value);\n      break;\n    case 13:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setEndpointcaching(value);\n      break;\n    case 14:\n      var value = new common_pb.Tag;\n      reader.readMessage(value,common_pb.Tag.deserializeBinaryFromReader);\n      msg.setEndpointtag(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setLanguage(value);\n      break;\n    case 17:\n      var value = new common_pb.Organization;\n      reader.readMessage(value,common_pb.Organization.deserializeBinaryFromReader);\n      msg.setOrganization(value);\n      break;\n    case 18:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 20:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 21:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 22:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 23:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setCreateduser(value);\n      break;\n    case 24:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    case 25:\n      var value = new common_pb.User;\n      reader.readMessage(value,common_pb.User.deserializeBinaryFromReader);\n      msg.setUpdateduser(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.Endpoint.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.Endpoint.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.Endpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.Endpoint.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVisibility();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getSourceidentifier();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodel();\n  if (f != null) {\n    writer.writeMessage(\n      10,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointanalytics();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      proto.endpoint_api.AggregatedEndpointAnalytics.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointretry();\n  if (f != null) {\n    writer.writeMessage(\n      12,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointcaching();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointtag();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      common_pb.Tag.serializeBinaryToWriter\n    );\n  }\n  f = message.getLanguage();\n  if (f.length > 0) {\n    writer.writeString(\n      16,\n      f\n    );\n  }\n  f = message.getOrganization();\n  if (f != null) {\n    writer.writeMessage(\n      17,\n      f,\n      common_pb.Organization.serializeBinaryToWriter\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      18,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      19,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      20,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      21,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      22,\n      f\n    );\n  }\n  f = message.getCreateduser();\n  if (f != null) {\n    writer.writeMessage(\n      23,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      24,\n      f\n    );\n  }\n  f = message.getUpdateduser();\n  if (f != null) {\n    writer.writeMessage(\n      25,\n      f,\n      common_pb.User.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string status = 2;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string visibility = 3;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getVisibility = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setVisibility = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string source = 4;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint64 sourceIdentifier = 5;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getSourceidentifier = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setSourceidentifier = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 projectId = 7;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 organizationId = 8;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 9;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * optional EndpointProviderModel endpointProviderModel = 10;\n * @return {?proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointprovidermodel = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModel, 10));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModel|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointprovidermodel = function(value) {\n  return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointprovidermodel = function() {\n  return this.setEndpointprovidermodel(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointprovidermodel = function() {\n  return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional AggregatedEndpointAnalytics endpointAnalytics = 11;\n * @return {?proto.endpoint_api.AggregatedEndpointAnalytics}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointanalytics = function() {\n  return /** @type{?proto.endpoint_api.AggregatedEndpointAnalytics} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.AggregatedEndpointAnalytics, 11));\n};\n\n\n/**\n * @param {?proto.endpoint_api.AggregatedEndpointAnalytics|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointanalytics = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointanalytics = function() {\n  return this.setEndpointanalytics(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointanalytics = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional EndpointRetryConfiguration endpointRetry = 12;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointretry = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 12));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointretry = function(value) {\n  return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointretry = function() {\n  return this.setEndpointretry(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointretry = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional EndpointCacheConfiguration endpointCaching = 13;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointcaching = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 13));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointcaching = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointcaching = function() {\n  return this.setEndpointcaching(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointcaching = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional Tag endpointTag = 14;\n * @return {?proto.Tag}\n */\nproto.endpoint_api.Endpoint.prototype.getEndpointtag = function() {\n  return /** @type{?proto.Tag} */ (\n    jspb.Message.getWrapperField(this, common_pb.Tag, 14));\n};\n\n\n/**\n * @param {?proto.Tag|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setEndpointtag = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearEndpointtag = function() {\n  return this.setEndpointtag(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasEndpointtag = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string language = 16;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getLanguage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setLanguage = function(value) {\n  return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional Organization organization = 17;\n * @return {?proto.Organization}\n */\nproto.endpoint_api.Endpoint.prototype.getOrganization = function() {\n  return /** @type{?proto.Organization} */ (\n    jspb.Message.getWrapperField(this, common_pb.Organization, 17));\n};\n\n\n/**\n * @param {?proto.Organization|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setOrganization = function(value) {\n  return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearOrganization = function() {\n  return this.setOrganization(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasOrganization = function() {\n  return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional string name = 18;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n/**\n * optional string description = 19;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 19, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 20;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.Endpoint.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 20));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 20, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 21;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.Endpoint.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 21));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional uint64 createdBy = 22;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 22, value);\n};\n\n\n/**\n * optional User createdUser = 23;\n * @return {?proto.User}\n */\nproto.endpoint_api.Endpoint.prototype.getCreateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 23));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setCreateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearCreateduser = function() {\n  return this.setCreateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasCreateduser = function() {\n  return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional uint64 updatedBy = 24;\n * @return {string}\n */\nproto.endpoint_api.Endpoint.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 24, value);\n};\n\n\n/**\n * optional User updatedUser = 25;\n * @return {?proto.User}\n */\nproto.endpoint_api.Endpoint.prototype.getUpdateduser = function() {\n  return /** @type{?proto.User} */ (\n    jspb.Message.getWrapperField(this, common_pb.User, 25));\n};\n\n\n/**\n * @param {?proto.User|undefined} value\n * @return {!proto.endpoint_api.Endpoint} returns this\n*/\nproto.endpoint_api.Endpoint.prototype.setUpdateduser = function(value) {\n  return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.Endpoint} returns this\n */\nproto.endpoint_api.Endpoint.prototype.clearUpdateduser = function() {\n  return this.setUpdateduser(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.Endpoint.prototype.hasUpdateduser = function() {\n  return jspb.Message.getField(this, 25) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelattribute: (f = msg.getEndpointprovidermodelattribute()) && proto.endpoint_api.EndpointProviderModelAttribute.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointProviderModelRequest;\n  return proto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointProviderModelAttribute;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModelAttribute.deserializeBinaryFromReader);\n      msg.setEndpointprovidermodelattribute(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelattribute();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointProviderModelAttribute.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointProviderModelAttribute endpointProviderModelAttribute = 2;\n * @return {?proto.endpoint_api.EndpointProviderModelAttribute}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.getEndpointprovidermodelattribute = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModelAttribute} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModelAttribute, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModelAttribute|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.setEndpointprovidermodelattribute = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.clearEndpointprovidermodelattribute = function() {\n  return this.setEndpointprovidermodelattribute(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelRequest.prototype.hasEndpointprovidermodelattribute = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointProviderModel.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointProviderModelResponse;\n  return proto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointProviderModel data = 3;\n * @return {?proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointProviderModel} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointProviderModel, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointProviderModel|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointRequest}\n */\nproto.endpoint_api.GetEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointRequest;\n  return proto.endpoint_api.GetEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointRequest}\n */\nproto.endpoint_api.GetEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 4;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointRequest} returns this\n */\nproto.endpoint_api.GetEndpointRequest.prototype.clearEndpointprovidermodelid = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointRequest.prototype.hasEndpointprovidermodelid = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointResponse}\n */\nproto.endpoint_api.GetEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointResponse;\n  return proto.endpoint_api.GetEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointResponse}\n */\nproto.endpoint_api.GetEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n*/\nproto.endpoint_api.GetEndpointResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n*/\nproto.endpoint_api.GetEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointResponse} returns this\n */\nproto.endpoint_api.GetEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointRequest}\n */\nproto.endpoint_api.GetAllEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointRequest;\n  return proto.endpoint_api.GetAllEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointRequest}\n */\nproto.endpoint_api.GetAllEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.Endpoint.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointResponse}\n */\nproto.endpoint_api.GetAllEndpointResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointResponse;\n  return proto.endpoint_api.GetAllEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointResponse}\n */\nproto.endpoint_api.GetAllEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Endpoint data = 3;\n * @return {!Array<!proto.endpoint_api.Endpoint>}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.Endpoint>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.Endpoint>} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.Endpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.Endpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointProviderModelRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 5, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointProviderModelRequest;\n  return proto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointProviderModelRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 endpointId = 5;\n * @return {string}\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointProviderModelResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.EndpointProviderModel.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointProviderModelResponse;\n  return proto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointProviderModel;\n      reader.readMessage(value,proto.endpoint_api.EndpointProviderModel.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointProviderModelResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointProviderModelResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointProviderModel.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated EndpointProviderModel data = 3;\n * @return {!Array<!proto.endpoint_api.EndpointProviderModel>}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.EndpointProviderModel>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.EndpointProviderModel, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.EndpointProviderModel>} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.EndpointProviderModel=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointProviderModel}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.EndpointProviderModel, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointProviderModelResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointProviderModelResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointVersionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointVersionRequest;\n  return proto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointVersionRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointVersionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 2;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionRequest.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointVersionResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.Endpoint.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointVersionResponse;\n  return proto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.Endpoint;\n      reader.readMessage(value,proto.endpoint_api.Endpoint.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointVersionResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointVersionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.Endpoint.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Endpoint data = 3;\n * @return {?proto.endpoint_api.Endpoint}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.Endpoint} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.Endpoint, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.Endpoint|undefined} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n*/\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n*/\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateEndpointVersionResponse} returns this\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateEndpointVersionResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointRetryConfiguration.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointRetryConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointRetryConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    retrytype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    maxattempts: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    delayseconds: jspb.Message.getFieldWithDefault(msg, 4, \"0\"),\n    exponentialbackoff: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n    retryablesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n    createdby: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 9, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.EndpointRetryConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointRetryConfiguration;\n  return proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRetrytype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setMaxattempts(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setDelayseconds(value);\n      break;\n    case 5:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setExponentialbackoff(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRetryables(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointRetryConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRetrytype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getMaxattempts();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getDelayseconds();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n  f = message.getExponentialbackoff();\n  if (f) {\n    writer.writeBool(\n      5,\n      f\n    );\n  }\n  f = message.getRetryablesList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      6,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string retryType = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getRetrytype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setRetrytype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 maxAttempts = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getMaxattempts = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setMaxattempts = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 delaySeconds = 4;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getDelayseconds = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setDelayseconds = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n/**\n * optional bool exponentialBackoff = 5;\n * @return {boolean}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getExponentialbackoff = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setExponentialbackoff = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * repeated string retryables = 6;\n * @return {!Array<string>}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getRetryablesList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setRetryablesList = function(value) {\n  return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.addRetryables = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.clearRetryablesList = function() {\n  return this.setRetryablesList([]);\n};\n\n\n/**\n * optional uint64 createdBy = 8;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 updatedBy = 9;\n * @return {string}\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointRetryConfiguration} returns this\n */\nproto.endpoint_api.EndpointRetryConfiguration.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointCacheConfiguration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointCacheConfiguration.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    cachetype: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    expiryinterval: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    matchthreshold: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0),\n    createdby: jspb.Message.getFieldWithDefault(msg, 5, \"0\"),\n    updatedby: jspb.Message.getFieldWithDefault(msg, 6, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.EndpointCacheConfiguration.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointCacheConfiguration;\n  return proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCachetype(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setExpiryinterval(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readFloat());\n      msg.setMatchthreshold(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCreatedby(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setUpdatedby(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointCacheConfiguration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCachetype();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getExpiryinterval();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getMatchthreshold();\n  if (f !== 0.0) {\n    writer.writeFloat(\n      4,\n      f\n    );\n  }\n  f = message.getCreatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      5,\n      f\n    );\n  }\n  f = message.getUpdatedby();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      6,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string cacheType = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getCachetype = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setCachetype = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint64 expiryInterval = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getExpiryinterval = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setExpiryinterval = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional float matchThreshold = 4;\n * @return {number}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getMatchthreshold = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setMatchthreshold = function(value) {\n  return jspb.Message.setProto3FloatField(this, 4, value);\n};\n\n\n/**\n * optional uint64 createdBy = 5;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getCreatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setCreatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 updatedBy = 6;\n * @return {string}\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.getUpdatedby = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointCacheConfiguration} returns this\n */\nproto.endpoint_api.EndpointCacheConfiguration.prototype.setUpdatedby = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRetryConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRetryConfigurationRequest;\n  return proto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRetryConfigurationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointRetryConfiguration data = 2;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationRequest.prototype.hasData = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointRetryConfigurationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointRetryConfiguration.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointRetryConfigurationResponse;\n  return proto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointRetryConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointRetryConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointRetryConfigurationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointRetryConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointRetryConfiguration data = 3;\n * @return {?proto.endpoint_api.EndpointRetryConfiguration}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointRetryConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointRetryConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointRetryConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointRetryConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointRetryConfigurationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointCacheConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointCacheConfigurationRequest;\n  return proto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointCacheConfigurationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional EndpointCacheConfiguration data = 2;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 2));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationRequest} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationRequest.prototype.hasData = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointCacheConfigurationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointCacheConfiguration.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointCacheConfigurationResponse;\n  return proto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointCacheConfiguration;\n      reader.readMessage(value,proto.endpoint_api.EndpointCacheConfiguration.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointCacheConfigurationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointCacheConfiguration.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointCacheConfiguration data = 3;\n * @return {?proto.endpoint_api.EndpointCacheConfiguration}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointCacheConfiguration} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointCacheConfiguration, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointCacheConfiguration|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n*/\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.CreateEndpointCacheConfigurationResponse} returns this\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.CreateEndpointCacheConfigurationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.CreateEndpointTagRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.CreateEndpointTagRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointTagRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest}\n */\nproto.endpoint_api.CreateEndpointTagRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.CreateEndpointTagRequest;\n  return proto.endpoint_api.CreateEndpointTagRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest}\n */\nproto.endpoint_api.CreateEndpointTagRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addTags(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.CreateEndpointTagRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.CreateEndpointTagRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.CreateEndpointTagRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getTagsList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array<string>}\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.getTagsList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.setTagsList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.addTags = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.CreateEndpointTagRequest} returns this\n */\nproto.endpoint_api.CreateEndpointTagRequest.prototype.clearTagsList = function() {\n  return this.setTagsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ForkEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ForkEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ForkEndpointRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointproviderid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ForkEndpointRequest}\n */\nproto.endpoint_api.ForkEndpointRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ForkEndpointRequest;\n  return proto.endpoint_api.ForkEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ForkEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ForkEndpointRequest}\n */\nproto.endpoint_api.ForkEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointproviderid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ForkEndpointRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ForkEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ForkEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointproviderid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ForkEndpointRequest} returns this\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointProviderId = 3;\n * @return {string}\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.getEndpointproviderid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ForkEndpointRequest} returns this\n */\nproto.endpoint_api.ForkEndpointRequest.prototype.setEndpointproviderid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateEndpointDetailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateEndpointDetailRequest;\n  return proto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateEndpointDetailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateEndpointDetailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateEndpointDetailRequest} returns this\n */\nproto.endpoint_api.UpdateEndpointDetailRequest.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.EndpointLog.repeatedFields_ = [30,32,31,33];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 2, \"0\"),\n    source: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    status: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 16, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 17, \"0\"),\n    endpointprovidermodelid: jspb.Message.getFieldWithDefault(msg, 19, \"0\"),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 25, \"0\"),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    metadataList: jspb.Message.toObjectList(msg.getMetadataList(),\n    common_pb.Metadata.toObject, includeInstance),\n    argumentsList: jspb.Message.toObjectList(msg.getArgumentsList(),\n    common_pb.Argument.toObject, includeInstance),\n    optionsList: jspb.Message.toObjectList(msg.getOptionsList(),\n    common_pb.Metadata.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.EndpointLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointLog;\n  return proto.endpoint_api.EndpointLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.EndpointLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setSource(value);\n      break;\n    case 15:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 16:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 17:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 19:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointprovidermodelid(value);\n      break;\n    case 25:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setTimetaken(value);\n      break;\n    case 26:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 27:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 30:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 32:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addMetadata(value);\n      break;\n    case 31:\n      var value = new common_pb.Argument;\n      reader.readMessage(value,common_pb.Argument.deserializeBinaryFromReader);\n      msg.addArguments(value);\n      break;\n    case 33:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addOptions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n  f = message.getSource();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      15,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      16,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      17,\n      f\n    );\n  }\n  f = message.getEndpointprovidermodelid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      19,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      25,\n      f\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      26,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      27,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      30,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetadataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      32,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgumentsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      31,\n      f,\n      common_pb.Argument.serializeBinaryToWriter\n    );\n  }\n  f = message.getOptionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      33,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 endpointId = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n/**\n * optional string source = 3;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getSource = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setSource = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string status = 15;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional uint64 projectId = 16;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 16, value);\n};\n\n\n/**\n * optional uint64 organizationId = 17;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 17, value);\n};\n\n\n/**\n * optional uint64 endpointProviderModelId = 19;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getEndpointprovidermodelid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 19, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setEndpointprovidermodelid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 19, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 25;\n * @return {string}\n */\nproto.endpoint_api.EndpointLog.prototype.getTimetaken = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 25, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 25, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 27;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.endpoint_api.EndpointLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 27));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.EndpointLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * repeated Metric metrics = 30;\n * @return {!Array<!proto.Metric>}\n */\nproto.endpoint_api.EndpointLog.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 30));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 30, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.endpoint_api.EndpointLog.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 30, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * repeated Metadata metadata = 32;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointLog.prototype.getMetadataList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 32));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setMetadataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 32, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointLog.prototype.addMetadata = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 32, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearMetadataList = function() {\n  return this.setMetadataList([]);\n};\n\n\n/**\n * repeated Argument arguments = 31;\n * @return {!Array<!proto.Argument>}\n */\nproto.endpoint_api.EndpointLog.prototype.getArgumentsList = function() {\n  return /** @type{!Array<!proto.Argument>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Argument, 31));\n};\n\n\n/**\n * @param {!Array<!proto.Argument>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setArgumentsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 31, value);\n};\n\n\n/**\n * @param {!proto.Argument=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Argument}\n */\nproto.endpoint_api.EndpointLog.prototype.addArguments = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 31, opt_value, proto.Argument, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearArgumentsList = function() {\n  return this.setArgumentsList([]);\n};\n\n\n/**\n * repeated Metadata options = 33;\n * @return {!Array<!proto.Metadata>}\n */\nproto.endpoint_api.EndpointLog.prototype.getOptionsList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 33));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.endpoint_api.EndpointLog} returns this\n*/\nproto.endpoint_api.EndpointLog.prototype.setOptionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 33, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.endpoint_api.EndpointLog.prototype.addOptions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 33, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.EndpointLog} returns this\n */\nproto.endpoint_api.EndpointLog.prototype.clearOptionsList = function() {\n  return this.setOptionsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointLogRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    endpointid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointLogRequest;\n  return proto.endpoint_api.GetAllEndpointLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 endpointId = 3;\n * @return {string}\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetAllEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetAllEndpointLogRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.GetAllEndpointLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetAllEndpointLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.endpoint_api.EndpointLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetAllEndpointLogResponse;\n  return proto.endpoint_api.GetAllEndpointLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointLog;\n      reader.readMessage(value,proto.endpoint_api.EndpointLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetAllEndpointLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetAllEndpointLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetAllEndpointLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated EndpointLog data = 3;\n * @return {!Array<!proto.endpoint_api.EndpointLog>}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.endpoint_api.EndpointLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.endpoint_api.EndpointLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.endpoint_api.EndpointLog>} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.endpoint_api.EndpointLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.endpoint_api.EndpointLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetAllEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetAllEndpointLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    id: jspb.Message.getFieldWithDefault(msg, 2, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointLogRequest}\n */\nproto.endpoint_api.GetEndpointLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointLogRequest;\n  return proto.endpoint_api.GetEndpointLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointLogRequest}\n */\nproto.endpoint_api.GetEndpointLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 id = 2;\n * @return {string}\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.GetEndpointLogRequest} returns this\n */\nproto.endpoint_api.GetEndpointLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.GetEndpointLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.GetEndpointLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.endpoint_api.EndpointLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.GetEndpointLogResponse}\n */\nproto.endpoint_api.GetEndpointLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.GetEndpointLogResponse;\n  return proto.endpoint_api.GetEndpointLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.GetEndpointLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.GetEndpointLogResponse}\n */\nproto.endpoint_api.GetEndpointLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.endpoint_api.EndpointLog;\n      reader.readMessage(value,proto.endpoint_api.EndpointLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.GetEndpointLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.GetEndpointLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.GetEndpointLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.endpoint_api.EndpointLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional EndpointLog data = 3;\n * @return {?proto.endpoint_api.EndpointLog}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getData = function() {\n  return /** @type{?proto.endpoint_api.EndpointLog} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointLog, 3));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointLog|undefined} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetEndpointLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n*/\nproto.endpoint_api.GetEndpointLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.GetEndpointLogResponse} returns this\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.GetEndpointLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.endpoint_api);\n","// package: endpoint_api\n// file: endpoint-api.proto\n\nvar endpoint_api_pb = require(\"./endpoint-api_pb\");\nvar common_pb = require(\"./common_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar EndpointService = (function () {\n  function EndpointService() {}\n  EndpointService.serviceName = \"endpoint_api.EndpointService\";\n  return EndpointService;\n}());\n\nEndpointService.GetEndpoint = {\n  methodName: \"GetEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetEndpointRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.GetAllEndpoint = {\n  methodName: \"GetAllEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointRequest,\n  responseType: endpoint_api_pb.GetAllEndpointResponse\n};\n\nEndpointService.GetAllEndpointProviderModel = {\n  methodName: \"GetAllEndpointProviderModel\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointProviderModelRequest,\n  responseType: endpoint_api_pb.GetAllEndpointProviderModelResponse\n};\n\nEndpointService.UpdateEndpointVersion = {\n  methodName: \"UpdateEndpointVersion\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.UpdateEndpointVersionRequest,\n  responseType: endpoint_api_pb.UpdateEndpointVersionResponse\n};\n\nEndpointService.CreateEndpoint = {\n  methodName: \"CreateEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointRequest,\n  responseType: endpoint_api_pb.CreateEndpointResponse\n};\n\nEndpointService.CreateEndpointProviderModel = {\n  methodName: \"CreateEndpointProviderModel\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointProviderModelRequest,\n  responseType: endpoint_api_pb.CreateEndpointProviderModelResponse\n};\n\nEndpointService.CreateEndpointCacheConfiguration = {\n  methodName: \"CreateEndpointCacheConfiguration\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointCacheConfigurationRequest,\n  responseType: endpoint_api_pb.CreateEndpointCacheConfigurationResponse\n};\n\nEndpointService.CreateEndpointRetryConfiguration = {\n  methodName: \"CreateEndpointRetryConfiguration\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointRetryConfigurationRequest,\n  responseType: endpoint_api_pb.CreateEndpointRetryConfigurationResponse\n};\n\nEndpointService.CreateEndpointTag = {\n  methodName: \"CreateEndpointTag\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.CreateEndpointTagRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.ForkEndpoint = {\n  methodName: \"ForkEndpoint\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.ForkEndpointRequest,\n  responseType: common_pb.BaseResponse\n};\n\nEndpointService.UpdateEndpointDetail = {\n  methodName: \"UpdateEndpointDetail\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.UpdateEndpointDetailRequest,\n  responseType: endpoint_api_pb.GetEndpointResponse\n};\n\nEndpointService.GetAllEndpointLog = {\n  methodName: \"GetAllEndpointLog\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetAllEndpointLogRequest,\n  responseType: endpoint_api_pb.GetAllEndpointLogResponse\n};\n\nEndpointService.GetEndpointLog = {\n  methodName: \"GetEndpointLog\",\n  service: EndpointService,\n  requestStream: false,\n  responseStream: false,\n  requestType: endpoint_api_pb.GetEndpointLogRequest,\n  responseType: endpoint_api_pb.GetEndpointLogResponse\n};\n\nexports.EndpointService = EndpointService;\n\nfunction EndpointServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nEndpointServiceClient.prototype.getEndpoint = function getEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpoint = function getAllEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpointProviderModel = function getAllEndpointProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpointProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.updateEndpointVersion = function updateEndpointVersion(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.UpdateEndpointVersion, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpoint = function createEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointProviderModel = function createEndpointProviderModel(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointProviderModel, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointCacheConfiguration = function createEndpointCacheConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointCacheConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointRetryConfiguration = function createEndpointRetryConfiguration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointRetryConfiguration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.createEndpointTag = function createEndpointTag(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.CreateEndpointTag, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.forkEndpoint = function forkEndpoint(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.ForkEndpoint, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.updateEndpointDetail = function updateEndpointDetail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.UpdateEndpointDetail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getAllEndpointLog = function getAllEndpointLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetAllEndpointLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nEndpointServiceClient.prototype.getEndpointLog = function getEndpointLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(EndpointService.GetEndpointLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.EndpointServiceClient = EndpointServiceClient;\n\n","// source: audit-logging-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.integration_api.AuditLog', null, global);\ngoog.exportSymbol('proto.integration_api.CreateMetadataRequest', null, global);\ngoog.exportSymbol('proto.integration_api.CreateMetadataResponse', null, global);\ngoog.exportSymbol('proto.integration_api.GetAllAuditLogRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetAllAuditLogResponse', null, global);\ngoog.exportSymbol('proto.integration_api.GetAuditLogRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetAuditLogResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.AuditLog = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.AuditLog.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.AuditLog, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.AuditLog.displayName = 'proto.integration_api.AuditLog';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAllAuditLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetAllAuditLogRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetAllAuditLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAllAuditLogRequest.displayName = 'proto.integration_api.GetAllAuditLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAllAuditLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetAllAuditLogResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetAllAuditLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAllAuditLogResponse.displayName = 'proto.integration_api.GetAllAuditLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAuditLogRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetAuditLogRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAuditLogRequest.displayName = 'proto.integration_api.GetAuditLogRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetAuditLogResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetAuditLogResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetAuditLogResponse.displayName = 'proto.integration_api.GetAuditLogResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.CreateMetadataRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.CreateMetadataRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.CreateMetadataRequest.displayName = 'proto.integration_api.CreateMetadataRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.CreateMetadataResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.CreateMetadataResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.CreateMetadataResponse.displayName = 'proto.integration_api.CreateMetadataResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.AuditLog.repeatedFields_ = [10,15];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.AuditLog.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.AuditLog.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.AuditLog} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.AuditLog.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    integrationname: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    assetprefix: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    responsestatus: jspb.Message.getFieldWithDefault(msg, 4, 0),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    status: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 7, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 8, \"0\"),\n    credentialid: jspb.Message.getFieldWithDefault(msg, 9, \"0\"),\n    externalauditmetadatasList: jspb.Message.toObjectList(msg.getExternalauditmetadatasList(),\n    common_pb.Metadata.toObject, includeInstance),\n    createddate: (f = msg.getCreateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    updateddate: (f = msg.getUpdateddate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n    request: (f = msg.getRequest()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    response: (f = msg.getResponse()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.AuditLog.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.AuditLog;\n  return proto.integration_api.AuditLog.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.AuditLog} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.AuditLog.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setIntegrationname(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setAssetprefix(value);\n      break;\n    case 4:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setResponsestatus(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readInt64());\n      msg.setTimetaken(value);\n      break;\n    case 6:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setStatus(value);\n      break;\n    case 7:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    case 9:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setCredentialid(value);\n      break;\n    case 10:\n      var value = new common_pb.Metadata;\n      reader.readMessage(value,common_pb.Metadata.deserializeBinaryFromReader);\n      msg.addExternalauditmetadatas(value);\n      break;\n    case 11:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setCreateddate(value);\n      break;\n    case 12:\n      var value = new google_protobuf_timestamp_pb.Timestamp;\n      reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n      msg.setUpdateddate(value);\n      break;\n    case 13:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setRequest(value);\n      break;\n    case 14:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setResponse(value);\n      break;\n    case 15:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.AuditLog.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.AuditLog.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.AuditLog} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.AuditLog.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getIntegrationname();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getAssetprefix();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getResponsestatus();\n  if (f !== 0) {\n    writer.writeInt64(\n      4,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (f !== 0) {\n    writer.writeInt64(\n      5,\n      f\n    );\n  }\n  f = message.getStatus();\n  if (f.length > 0) {\n    writer.writeString(\n      6,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      7,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      8,\n      f\n    );\n  }\n  f = message.getCredentialid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      9,\n      f\n    );\n  }\n  f = message.getExternalauditmetadatasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      10,\n      f,\n      common_pb.Metadata.serializeBinaryToWriter\n    );\n  }\n  f = message.getCreateddate();\n  if (f != null) {\n    writer.writeMessage(\n      11,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getUpdateddate();\n  if (f != null) {\n    writer.writeMessage(\n      12,\n      f,\n      google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequest();\n  if (f != null) {\n    writer.writeMessage(\n      13,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getResponse();\n  if (f != null) {\n    writer.writeMessage(\n      14,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      15,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string integrationName = 2;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getIntegrationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setIntegrationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string assetPrefix = 3;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getAssetprefix = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setAssetprefix = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional int64 responseStatus = 4;\n * @return {number}\n */\nproto.integration_api.AuditLog.prototype.getResponsestatus = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setResponsestatus = function(value) {\n  return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional int64 timeTaken = 5;\n * @return {number}\n */\nproto.integration_api.AuditLog.prototype.getTimetaken = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional string status = 6;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getStatus = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setStatus = function(value) {\n  return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional uint64 projectId = 7;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 7, value);\n};\n\n\n/**\n * optional uint64 organizationId = 8;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 8, value);\n};\n\n\n/**\n * optional uint64 credentialId = 9;\n * @return {string}\n */\nproto.integration_api.AuditLog.prototype.getCredentialid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.setCredentialid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 9, value);\n};\n\n\n/**\n * repeated Metadata externalAuditMetadatas = 10;\n * @return {!Array<!proto.Metadata>}\n */\nproto.integration_api.AuditLog.prototype.getExternalauditmetadatasList = function() {\n  return /** @type{!Array<!proto.Metadata>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metadata, 10));\n};\n\n\n/**\n * @param {!Array<!proto.Metadata>} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setExternalauditmetadatasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 10, value);\n};\n\n\n/**\n * @param {!proto.Metadata=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metadata}\n */\nproto.integration_api.AuditLog.prototype.addExternalauditmetadatas = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 10, opt_value, proto.Metadata, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearExternalauditmetadatasList = function() {\n  return this.setExternalauditmetadatasList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp createdDate = 11;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.integration_api.AuditLog.prototype.getCreateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 11));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setCreateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearCreateddate = function() {\n  return this.setCreateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasCreateddate = function() {\n  return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp updatedDate = 12;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.integration_api.AuditLog.prototype.getUpdateddate = function() {\n  return /** @type{?proto.google.protobuf.Timestamp} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 12));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setUpdateddate = function(value) {\n  return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearUpdateddate = function() {\n  return this.setUpdateddate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasUpdateddate = function() {\n  return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct request = 13;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.AuditLog.prototype.getRequest = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 13));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setRequest = function(value) {\n  return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearRequest = function() {\n  return this.setRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasRequest = function() {\n  return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional google.protobuf.Struct response = 14;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.AuditLog.prototype.getResponse = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 14));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setResponse = function(value) {\n  return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearResponse = function() {\n  return this.setResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.AuditLog.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * repeated Metric metrics = 15;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.AuditLog.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 15));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.AuditLog} returns this\n*/\nproto.integration_api.AuditLog.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 15, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.AuditLog.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 15, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.AuditLog} returns this\n */\nproto.integration_api.AuditLog.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetAllAuditLogRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAllAuditLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAllAuditLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAllAuditLogRequest}\n */\nproto.integration_api.GetAllAuditLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAllAuditLogRequest;\n  return proto.integration_api.GetAllAuditLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAllAuditLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAllAuditLogRequest}\n */\nproto.integration_api.GetAllAuditLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAllAuditLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAllAuditLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n*/\nproto.integration_api.GetAllAuditLogRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n*/\nproto.integration_api.GetAllAuditLogRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 organizationId = 4;\n * @return {string}\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAllAuditLogRequest} returns this\n */\nproto.integration_api.GetAllAuditLogRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetAllAuditLogResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAllAuditLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAllAuditLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.AuditLog.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAllAuditLogResponse}\n */\nproto.integration_api.GetAllAuditLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAllAuditLogResponse;\n  return proto.integration_api.GetAllAuditLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAllAuditLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAllAuditLogResponse}\n */\nproto.integration_api.GetAllAuditLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAllAuditLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAllAuditLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAllAuditLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated AuditLog data = 3;\n * @return {!Array<!proto.integration_api.AuditLog>}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.AuditLog>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.AuditLog>} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.integration_api.AuditLog=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.AuditLog}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.integration_api.AuditLog, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n*/\nproto.integration_api.GetAllAuditLogResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAllAuditLogResponse} returns this\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAllAuditLogResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAuditLogRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAuditLogRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAuditLogRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    projectid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    organizationid: jspb.Message.getFieldWithDefault(msg, 4, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAuditLogRequest}\n */\nproto.integration_api.GetAuditLogRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAuditLogRequest;\n  return proto.integration_api.GetAuditLogRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAuditLogRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAuditLogRequest}\n */\nproto.integration_api.GetAuditLogRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setProjectid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setOrganizationid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAuditLogRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAuditLogRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAuditLogRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getProjectid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getOrganizationid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional uint64 projectId = 3;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getProjectid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setProjectid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional uint64 organizationId = 4;\n * @return {string}\n */\nproto.integration_api.GetAuditLogRequest.prototype.getOrganizationid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetAuditLogRequest} returns this\n */\nproto.integration_api.GetAuditLogRequest.prototype.setOrganizationid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetAuditLogResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetAuditLogResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetAuditLogResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.integration_api.AuditLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetAuditLogResponse}\n */\nproto.integration_api.GetAuditLogResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetAuditLogResponse;\n  return proto.integration_api.GetAuditLogResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetAuditLogResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetAuditLogResponse}\n */\nproto.integration_api.GetAuditLogResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetAuditLogResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetAuditLogResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetAuditLogResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetAuditLogResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuditLog data = 3;\n * @return {?proto.integration_api.AuditLog}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getData = function() {\n  return /** @type{?proto.integration_api.AuditLog} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.AuditLog|undefined} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n*/\nproto.integration_api.GetAuditLogResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.GetAuditLogResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n*/\nproto.integration_api.GetAuditLogResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetAuditLogResponse} returns this\n */\nproto.integration_api.GetAuditLogResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetAuditLogResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.CreateMetadataRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.CreateMetadataRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.CreateMetadataRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.CreateMetadataRequest}\n */\nproto.integration_api.CreateMetadataRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.CreateMetadataRequest;\n  return proto.integration_api.CreateMetadataRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.CreateMetadataRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.CreateMetadataRequest}\n */\nproto.integration_api.CreateMetadataRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.CreateMetadataRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.CreateMetadataRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.CreateMetadataRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.CreateMetadataRequest.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.CreateMetadataRequest} returns this\n */\nproto.integration_api.CreateMetadataRequest.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * map<string, string> additionalData = 2;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.CreateMetadataRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 2, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.CreateMetadataRequest} returns this\n */\nproto.integration_api.CreateMetadataRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.CreateMetadataResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.CreateMetadataResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.CreateMetadataResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && proto.integration_api.AuditLog.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.CreateMetadataResponse}\n */\nproto.integration_api.CreateMetadataResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.CreateMetadataResponse;\n  return proto.integration_api.CreateMetadataResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.CreateMetadataResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.CreateMetadataResponse}\n */\nproto.integration_api.CreateMetadataResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.AuditLog;\n      reader.readMessage(value,proto.integration_api.AuditLog.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.CreateMetadataResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.CreateMetadataResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.CreateMetadataResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.CreateMetadataResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.AuditLog.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional AuditLog data = 3;\n * @return {?proto.integration_api.AuditLog}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getData = function() {\n  return /** @type{?proto.integration_api.AuditLog} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.AuditLog, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.AuditLog|undefined} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n*/\nproto.integration_api.CreateMetadataResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.integration_api.CreateMetadataResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n*/\nproto.integration_api.CreateMetadataResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.CreateMetadataResponse} returns this\n */\nproto.integration_api.CreateMetadataResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.CreateMetadataResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.integration_api);\n","// package: integration_api\n// file: audit-logging-api.proto\n\nvar audit_logging_api_pb = require(\"./audit-logging-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AuditLoggingService = (function () {\n  function AuditLoggingService() {}\n  AuditLoggingService.serviceName = \"integration_api.AuditLoggingService\";\n  return AuditLoggingService;\n}());\n\nAuditLoggingService.GetAllAuditLog = {\n  methodName: \"GetAllAuditLog\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.GetAllAuditLogRequest,\n  responseType: audit_logging_api_pb.GetAllAuditLogResponse\n};\n\nAuditLoggingService.GetAuditLog = {\n  methodName: \"GetAuditLog\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.GetAuditLogRequest,\n  responseType: audit_logging_api_pb.GetAuditLogResponse\n};\n\nAuditLoggingService.CreateMetadata = {\n  methodName: \"CreateMetadata\",\n  service: AuditLoggingService,\n  requestStream: false,\n  responseStream: false,\n  requestType: audit_logging_api_pb.CreateMetadataRequest,\n  responseType: audit_logging_api_pb.CreateMetadataResponse\n};\n\nexports.AuditLoggingService = AuditLoggingService;\n\nfunction AuditLoggingServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAuditLoggingServiceClient.prototype.getAllAuditLog = function getAllAuditLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.GetAllAuditLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuditLoggingServiceClient.prototype.getAuditLog = function getAuditLog(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.GetAuditLog, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAuditLoggingServiceClient.prototype.createMetadata = function createMetadata(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AuditLoggingService.CreateMetadata, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AuditLoggingServiceClient = AuditLoggingServiceClient;\n\n","// package: assistant_api\n// file: assistant-deployment.proto\n\nvar assistant_deployment_pb = require(\"./assistant-deployment_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar AssistantDeploymentService = (function () {\n  function AssistantDeploymentService() {}\n  AssistantDeploymentService.serviceName = \"assistant_api.AssistantDeploymentService\";\n  return AssistantDeploymentService;\n}());\n\nAssistantDeploymentService.CreateAssistantApiDeployment = {\n  methodName: \"CreateAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantApiDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantApiDeployment = {\n  methodName: \"GetAssistantApiDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantApiDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantWebpluginDeployment = {\n  methodName: \"CreateAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantWebpluginDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantWebpluginDeployment = {\n  methodName: \"GetAssistantWebpluginDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantWebpluginDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantDebuggerDeployment = {\n  methodName: \"CreateAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantDebuggerDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantDebuggerDeployment = {\n  methodName: \"GetAssistantDebuggerDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantDebuggerDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantWhatsappDeployment = {\n  methodName: \"CreateAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantWhatsappDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantWhatsappDeployment = {\n  methodName: \"GetAssistantWhatsappDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantWhatsappDeploymentResponse\n};\n\nAssistantDeploymentService.CreateAssistantPhoneDeployment = {\n  methodName: \"CreateAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.CreateAssistantPhoneDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantPhoneDeploymentResponse\n};\n\nAssistantDeploymentService.GetAssistantPhoneDeployment = {\n  methodName: \"GetAssistantPhoneDeployment\",\n  service: AssistantDeploymentService,\n  requestStream: false,\n  responseStream: false,\n  requestType: assistant_deployment_pb.GetAssistantDeploymentRequest,\n  responseType: assistant_deployment_pb.AssistantPhoneDeploymentResponse\n};\n\nexports.AssistantDeploymentService = AssistantDeploymentService;\n\nfunction AssistantDeploymentServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAssistantDeploymentServiceClient.prototype.createAssistantApiDeployment = function createAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantApiDeployment = function getAssistantApiDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantApiDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantWebpluginDeployment = function createAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantWebpluginDeployment = function getAssistantWebpluginDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantWebpluginDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantDebuggerDeployment = function createAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantDebuggerDeployment = function getAssistantDebuggerDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantDebuggerDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantWhatsappDeployment = function createAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantWhatsappDeployment = function getAssistantWhatsappDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantWhatsappDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.createAssistantPhoneDeployment = function createAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.CreateAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAssistantDeploymentServiceClient.prototype.getAssistantPhoneDeployment = function getAssistantPhoneDeployment(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AssistantDeploymentService.GetAssistantPhoneDeployment, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AssistantDeploymentServiceClient = AssistantDeploymentServiceClient;\n\n","// source: connect-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.connect_api.ActionConnectRequest', null, global);\ngoog.exportSymbol('proto.connect_api.ActionConnectResponse', null, global);\ngoog.exportSymbol('proto.connect_api.GeneralConnectRequest', null, global);\ngoog.exportSymbol('proto.connect_api.GeneralConnectResponse', null, global);\ngoog.exportSymbol('proto.connect_api.GetConnectorFilesRequest', null, global);\ngoog.exportSymbol('proto.connect_api.GetConnectorFilesResponse', null, global);\ngoog.exportSymbol('proto.connect_api.KnowledgeConnectRequest', null, global);\ngoog.exportSymbol('proto.connect_api.KnowledgeConnectResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.KnowledgeConnectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.KnowledgeConnectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.KnowledgeConnectRequest.displayName = 'proto.connect_api.KnowledgeConnectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.KnowledgeConnectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.KnowledgeConnectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.KnowledgeConnectResponse.displayName = 'proto.connect_api.KnowledgeConnectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GeneralConnectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.GeneralConnectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GeneralConnectRequest.displayName = 'proto.connect_api.GeneralConnectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GeneralConnectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.GeneralConnectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GeneralConnectResponse.displayName = 'proto.connect_api.GeneralConnectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.ActionConnectRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.ActionConnectRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.ActionConnectRequest.displayName = 'proto.connect_api.ActionConnectRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.ActionConnectResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.connect_api.ActionConnectResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.ActionConnectResponse.displayName = 'proto.connect_api.ActionConnectResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GetConnectorFilesRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.connect_api.GetConnectorFilesRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.connect_api.GetConnectorFilesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GetConnectorFilesRequest.displayName = 'proto.connect_api.GetConnectorFilesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.connect_api.GetConnectorFilesResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.connect_api.GetConnectorFilesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.connect_api.GetConnectorFilesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.connect_api.GetConnectorFilesResponse.displayName = 'proto.connect_api.GetConnectorFilesResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.KnowledgeConnectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.KnowledgeConnectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.KnowledgeConnectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    connect: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.KnowledgeConnectRequest}\n */\nproto.connect_api.KnowledgeConnectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.KnowledgeConnectRequest;\n  return proto.connect_api.KnowledgeConnectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.KnowledgeConnectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.KnowledgeConnectRequest}\n */\nproto.connect_api.KnowledgeConnectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setConnect(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.KnowledgeConnectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.KnowledgeConnectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.KnowledgeConnectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getConnect();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectRequest} returns this\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectRequest} returns this\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string scope = 3;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectRequest} returns this\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string connect = 4;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.getConnect = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectRequest} returns this\n */\nproto.connect_api.KnowledgeConnectRequest.prototype.setConnect = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.KnowledgeConnectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.KnowledgeConnectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.KnowledgeConnectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    toolid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    redirectto: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.KnowledgeConnectResponse}\n */\nproto.connect_api.KnowledgeConnectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.KnowledgeConnectResponse;\n  return proto.connect_api.KnowledgeConnectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.KnowledgeConnectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.KnowledgeConnectResponse}\n */\nproto.connect_api.KnowledgeConnectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setToolid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRedirectto(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.KnowledgeConnectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.KnowledgeConnectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.KnowledgeConnectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getToolid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getRedirectto();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 toolId = 3;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.getToolid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.setToolid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string redirectTo = 4;\n * @return {string}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.getRedirectto = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.setRedirectto = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n*/\nproto.connect_api.KnowledgeConnectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.KnowledgeConnectResponse} returns this\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.KnowledgeConnectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GeneralConnectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GeneralConnectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GeneralConnectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    connect: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GeneralConnectRequest}\n */\nproto.connect_api.GeneralConnectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GeneralConnectRequest;\n  return proto.connect_api.GeneralConnectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GeneralConnectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GeneralConnectRequest}\n */\nproto.connect_api.GeneralConnectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setConnect(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GeneralConnectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GeneralConnectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GeneralConnectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getConnect();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string scope = 3;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string connect = 4;\n * @return {string}\n */\nproto.connect_api.GeneralConnectRequest.prototype.getConnect = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectRequest} returns this\n */\nproto.connect_api.GeneralConnectRequest.prototype.setConnect = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GeneralConnectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GeneralConnectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GeneralConnectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    toolid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    redirectto: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GeneralConnectResponse}\n */\nproto.connect_api.GeneralConnectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GeneralConnectResponse;\n  return proto.connect_api.GeneralConnectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GeneralConnectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GeneralConnectResponse}\n */\nproto.connect_api.GeneralConnectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setToolid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRedirectto(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GeneralConnectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GeneralConnectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GeneralConnectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GeneralConnectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getToolid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getRedirectto();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 toolId = 3;\n * @return {string}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getToolid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setToolid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string redirectTo = 4;\n * @return {string}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getRedirectto = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.setRedirectto = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.GeneralConnectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n*/\nproto.connect_api.GeneralConnectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GeneralConnectResponse} returns this\n */\nproto.connect_api.GeneralConnectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GeneralConnectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.ActionConnectRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.ActionConnectRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.ActionConnectRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.ActionConnectRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    state: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    scope: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    connect: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.ActionConnectRequest}\n */\nproto.connect_api.ActionConnectRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.ActionConnectRequest;\n  return proto.connect_api.ActionConnectRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.ActionConnectRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.ActionConnectRequest}\n */\nproto.connect_api.ActionConnectRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setState(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setCode(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setScope(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setConnect(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.ActionConnectRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.ActionConnectRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.ActionConnectRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.ActionConnectRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getState();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getCode();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getScope();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getConnect();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string state = 1;\n * @return {string}\n */\nproto.connect_api.ActionConnectRequest.prototype.getState = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectRequest} returns this\n */\nproto.connect_api.ActionConnectRequest.prototype.setState = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.connect_api.ActionConnectRequest.prototype.getCode = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectRequest} returns this\n */\nproto.connect_api.ActionConnectRequest.prototype.setCode = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string scope = 3;\n * @return {string}\n */\nproto.connect_api.ActionConnectRequest.prototype.getScope = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectRequest} returns this\n */\nproto.connect_api.ActionConnectRequest.prototype.setScope = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string connect = 4;\n * @return {string}\n */\nproto.connect_api.ActionConnectRequest.prototype.getConnect = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectRequest} returns this\n */\nproto.connect_api.ActionConnectRequest.prototype.setConnect = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.ActionConnectResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.ActionConnectResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.ActionConnectResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.ActionConnectResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    toolid: jspb.Message.getFieldWithDefault(msg, 3, \"0\"),\n    redirectto: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.ActionConnectResponse}\n */\nproto.connect_api.ActionConnectResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.ActionConnectResponse;\n  return proto.connect_api.ActionConnectResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.ActionConnectResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.ActionConnectResponse}\n */\nproto.connect_api.ActionConnectResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setToolid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setRedirectto(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.ActionConnectResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.ActionConnectResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.ActionConnectResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.ActionConnectResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getToolid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n  f = message.getRedirectto();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.ActionConnectResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n */\nproto.connect_api.ActionConnectResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.ActionConnectResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n */\nproto.connect_api.ActionConnectResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 toolId = 3;\n * @return {string}\n */\nproto.connect_api.ActionConnectResponse.prototype.getToolid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n */\nproto.connect_api.ActionConnectResponse.prototype.setToolid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n/**\n * optional string redirectTo = 4;\n * @return {string}\n */\nproto.connect_api.ActionConnectResponse.prototype.getRedirectto = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n */\nproto.connect_api.ActionConnectResponse.prototype.setRedirectto = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.ActionConnectResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n*/\nproto.connect_api.ActionConnectResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.ActionConnectResponse} returns this\n */\nproto.connect_api.ActionConnectResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.ActionConnectResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.connect_api.GetConnectorFilesRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GetConnectorFilesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GetConnectorFilesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance),\n    toolid: jspb.Message.getFieldWithDefault(msg, 3, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GetConnectorFilesRequest}\n */\nproto.connect_api.GetConnectorFilesRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GetConnectorFilesRequest;\n  return proto.connect_api.GetConnectorFilesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GetConnectorFilesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GetConnectorFilesRequest}\n */\nproto.connect_api.GetConnectorFilesRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setToolid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GetConnectorFilesRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GetConnectorFilesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n  f = message.getToolid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n*/\nproto.connect_api.GetConnectorFilesRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n*/\nproto.connect_api.GetConnectorFilesRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n/**\n * optional uint64 toolId = 3;\n * @return {string}\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.getToolid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.connect_api.GetConnectorFilesRequest} returns this\n */\nproto.connect_api.GetConnectorFilesRequest.prototype.setToolid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.connect_api.GetConnectorFilesResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.connect_api.GetConnectorFilesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.connect_api.GetConnectorFilesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    google_protobuf_struct_pb.Struct.toObject, includeInstance),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.connect_api.GetConnectorFilesResponse}\n */\nproto.connect_api.GetConnectorFilesResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.connect_api.GetConnectorFilesResponse;\n  return proto.connect_api.GetConnectorFilesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.connect_api.GetConnectorFilesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.connect_api.GetConnectorFilesResponse}\n */\nproto.connect_api.GetConnectorFilesResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.connect_api.GetConnectorFilesResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.connect_api.GetConnectorFilesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.connect_api.GetConnectorFilesResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated google.protobuf.Struct data = 3;\n * @return {!Array<!proto.google.protobuf.Struct>}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.google.protobuf.Struct>} */ (\n    jspb.Message.getRepeatedWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {!Array<!proto.google.protobuf.Struct>} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.google.protobuf.Struct=} opt_value\n * @param {number=} opt_index\n * @return {!proto.google.protobuf.Struct}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.google.protobuf.Struct, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Paginated paginated = 4;\n * @return {?proto.Paginated}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 4));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n*/\nproto.connect_api.GetConnectorFilesResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * map<string, string> args = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.connect_api.GetConnectorFilesResponse} returns this\n */\nproto.connect_api.GetConnectorFilesResponse.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\ngoog.object.extend(exports, proto.connect_api);\n","// package: connect_api\n// file: connect-api.proto\n\nvar connect_api_pb = require(\"./connect-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar ConnectService = (function () {\n  function ConnectService() {}\n  ConnectService.serviceName = \"connect_api.ConnectService\";\n  return ConnectService;\n}());\n\nConnectService.KnowledgeConnect = {\n  methodName: \"KnowledgeConnect\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.KnowledgeConnectRequest,\n  responseType: connect_api_pb.KnowledgeConnectResponse\n};\n\nConnectService.GeneralConnect = {\n  methodName: \"GeneralConnect\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.GeneralConnectRequest,\n  responseType: connect_api_pb.GeneralConnectResponse\n};\n\nConnectService.ActionConnect = {\n  methodName: \"ActionConnect\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.ActionConnectRequest,\n  responseType: connect_api_pb.ActionConnectResponse\n};\n\nConnectService.GetConnectorFiles = {\n  methodName: \"GetConnectorFiles\",\n  service: ConnectService,\n  requestStream: false,\n  responseStream: false,\n  requestType: connect_api_pb.GetConnectorFilesRequest,\n  responseType: connect_api_pb.GetConnectorFilesResponse\n};\n\nexports.ConnectService = ConnectService;\n\nfunction ConnectServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nConnectServiceClient.prototype.knowledgeConnect = function knowledgeConnect(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.KnowledgeConnect, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nConnectServiceClient.prototype.generalConnect = function generalConnect(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.GeneralConnect, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nConnectServiceClient.prototype.actionConnect = function actionConnect(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.ActionConnect, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nConnectServiceClient.prototype.getConnectorFiles = function getConnectorFiles(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ConnectService.GetConnectorFiles, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ConnectServiceClient = ConnectServiceClient;\n\n","// source: provider-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.provider_api.GetAllModelProviderRequest', null, global);\ngoog.exportSymbol('proto.provider_api.GetAllModelProviderResponse', null, global);\ngoog.exportSymbol('proto.provider_api.GetAllToolProviderRequest', null, global);\ngoog.exportSymbol('proto.provider_api.GetAllToolProviderResponse', null, global);\ngoog.exportSymbol('proto.provider_api.ToolProvider', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.provider_api.GetAllModelProviderRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.provider_api.GetAllModelProviderRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.provider_api.GetAllModelProviderRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.provider_api.GetAllModelProviderRequest.displayName = 'proto.provider_api.GetAllModelProviderRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.provider_api.GetAllModelProviderResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.provider_api.GetAllModelProviderResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.provider_api.GetAllModelProviderResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.provider_api.GetAllModelProviderResponse.displayName = 'proto.provider_api.GetAllModelProviderResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.provider_api.ToolProvider = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.provider_api.ToolProvider.repeatedFields_, null);\n};\ngoog.inherits(proto.provider_api.ToolProvider, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.provider_api.ToolProvider.displayName = 'proto.provider_api.ToolProvider';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.provider_api.GetAllToolProviderRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.provider_api.GetAllToolProviderRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.provider_api.GetAllToolProviderRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.provider_api.GetAllToolProviderRequest.displayName = 'proto.provider_api.GetAllToolProviderRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.provider_api.GetAllToolProviderResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.provider_api.GetAllToolProviderResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.provider_api.GetAllToolProviderResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.provider_api.GetAllToolProviderResponse.displayName = 'proto.provider_api.GetAllToolProviderResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.provider_api.GetAllModelProviderRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.provider_api.GetAllModelProviderRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.provider_api.GetAllModelProviderRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllModelProviderRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.provider_api.GetAllModelProviderRequest}\n */\nproto.provider_api.GetAllModelProviderRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.provider_api.GetAllModelProviderRequest;\n  return proto.provider_api.GetAllModelProviderRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.provider_api.GetAllModelProviderRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.provider_api.GetAllModelProviderRequest}\n */\nproto.provider_api.GetAllModelProviderRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.provider_api.GetAllModelProviderRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.provider_api.GetAllModelProviderRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllModelProviderRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.provider_api.GetAllModelProviderRequest} returns this\n*/\nproto.provider_api.GetAllModelProviderRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.provider_api.GetAllModelProviderRequest} returns this\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.provider_api.GetAllModelProviderRequest} returns this\n*/\nproto.provider_api.GetAllModelProviderRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.provider_api.GetAllModelProviderRequest} returns this\n */\nproto.provider_api.GetAllModelProviderRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.provider_api.GetAllModelProviderResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.provider_api.GetAllModelProviderResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.provider_api.GetAllModelProviderResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllModelProviderResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Provider.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.provider_api.GetAllModelProviderResponse}\n */\nproto.provider_api.GetAllModelProviderResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.provider_api.GetAllModelProviderResponse;\n  return proto.provider_api.GetAllModelProviderResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.provider_api.GetAllModelProviderResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.provider_api.GetAllModelProviderResponse}\n */\nproto.provider_api.GetAllModelProviderResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Provider;\n      reader.readMessage(value,common_pb.Provider.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.provider_api.GetAllModelProviderResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.provider_api.GetAllModelProviderResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllModelProviderResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Provider.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.provider_api.GetAllModelProviderResponse} returns this\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.provider_api.GetAllModelProviderResponse} returns this\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Provider data = 3;\n * @return {!Array<!proto.Provider>}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Provider>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Provider, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Provider>} value\n * @return {!proto.provider_api.GetAllModelProviderResponse} returns this\n*/\nproto.provider_api.GetAllModelProviderResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Provider=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Provider}\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Provider, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.provider_api.GetAllModelProviderResponse} returns this\n */\nproto.provider_api.GetAllModelProviderResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.provider_api.ToolProvider.repeatedFields_ = [5];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.provider_api.ToolProvider.prototype.toObject = function(opt_includeInstance) {\n  return proto.provider_api.ToolProvider.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.provider_api.ToolProvider} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.ToolProvider.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    image: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    featureList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f,\n    connectconfigurationMap: (f = msg.getConnectconfigurationMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.provider_api.ToolProvider}\n */\nproto.provider_api.ToolProvider.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.provider_api.ToolProvider;\n  return proto.provider_api.ToolProvider.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.provider_api.ToolProvider} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.provider_api.ToolProvider}\n */\nproto.provider_api.ToolProvider.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setImage(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addFeature(value);\n      break;\n    case 6:\n      var value = msg.getConnectconfigurationMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.provider_api.ToolProvider.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.provider_api.ToolProvider.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.provider_api.ToolProvider} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.ToolProvider.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getImage();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getFeatureList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      5,\n      f\n    );\n  }\n  f = message.getConnectconfigurationMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.provider_api.ToolProvider.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.provider_api.ToolProvider.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.provider_api.ToolProvider.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string image = 4;\n * @return {string}\n */\nproto.provider_api.ToolProvider.prototype.getImage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.setImage = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * repeated string feature = 5;\n * @return {!Array<string>}\n */\nproto.provider_api.ToolProvider.prototype.getFeatureList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.setFeatureList = function(value) {\n  return jspb.Message.setField(this, 5, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.addFeature = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 5, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.clearFeatureList = function() {\n  return this.setFeatureList([]);\n};\n\n\n/**\n * map<string, string> connectConfiguration = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.provider_api.ToolProvider.prototype.getConnectconfigurationMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.provider_api.ToolProvider} returns this\n */\nproto.provider_api.ToolProvider.prototype.clearConnectconfigurationMap = function() {\n  this.getConnectconfigurationMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.provider_api.GetAllToolProviderRequest.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.provider_api.GetAllToolProviderRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.provider_api.GetAllToolProviderRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllToolProviderRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    paginate: (f = msg.getPaginate()) && common_pb.Paginate.toObject(includeInstance, f),\n    criteriasList: jspb.Message.toObjectList(msg.getCriteriasList(),\n    common_pb.Criteria.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.provider_api.GetAllToolProviderRequest}\n */\nproto.provider_api.GetAllToolProviderRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.provider_api.GetAllToolProviderRequest;\n  return proto.provider_api.GetAllToolProviderRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.provider_api.GetAllToolProviderRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.provider_api.GetAllToolProviderRequest}\n */\nproto.provider_api.GetAllToolProviderRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new common_pb.Paginate;\n      reader.readMessage(value,common_pb.Paginate.deserializeBinaryFromReader);\n      msg.setPaginate(value);\n      break;\n    case 2:\n      var value = new common_pb.Criteria;\n      reader.readMessage(value,common_pb.Criteria.deserializeBinaryFromReader);\n      msg.addCriterias(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.provider_api.GetAllToolProviderRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.provider_api.GetAllToolProviderRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllToolProviderRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getPaginate();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      common_pb.Paginate.serializeBinaryToWriter\n    );\n  }\n  f = message.getCriteriasList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      2,\n      f,\n      common_pb.Criteria.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Paginate paginate = 1;\n * @return {?proto.Paginate}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.getPaginate = function() {\n  return /** @type{?proto.Paginate} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginate, 1));\n};\n\n\n/**\n * @param {?proto.Paginate|undefined} value\n * @return {!proto.provider_api.GetAllToolProviderRequest} returns this\n*/\nproto.provider_api.GetAllToolProviderRequest.prototype.setPaginate = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.provider_api.GetAllToolProviderRequest} returns this\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.clearPaginate = function() {\n  return this.setPaginate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.hasPaginate = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Criteria criterias = 2;\n * @return {!Array<!proto.Criteria>}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.getCriteriasList = function() {\n  return /** @type{!Array<!proto.Criteria>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Criteria, 2));\n};\n\n\n/**\n * @param {!Array<!proto.Criteria>} value\n * @return {!proto.provider_api.GetAllToolProviderRequest} returns this\n*/\nproto.provider_api.GetAllToolProviderRequest.prototype.setCriteriasList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.Criteria=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Criteria}\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.addCriterias = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.Criteria, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.provider_api.GetAllToolProviderRequest} returns this\n */\nproto.provider_api.GetAllToolProviderRequest.prototype.clearCriteriasList = function() {\n  return this.setCriteriasList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.provider_api.GetAllToolProviderResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.provider_api.GetAllToolProviderResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.provider_api.GetAllToolProviderResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllToolProviderResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.provider_api.ToolProvider.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    paginated: (f = msg.getPaginated()) && common_pb.Paginated.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.provider_api.GetAllToolProviderResponse}\n */\nproto.provider_api.GetAllToolProviderResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.provider_api.GetAllToolProviderResponse;\n  return proto.provider_api.GetAllToolProviderResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.provider_api.GetAllToolProviderResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.provider_api.GetAllToolProviderResponse}\n */\nproto.provider_api.GetAllToolProviderResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new proto.provider_api.ToolProvider;\n      reader.readMessage(value,proto.provider_api.ToolProvider.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = new common_pb.Paginated;\n      reader.readMessage(value,common_pb.Paginated.deserializeBinaryFromReader);\n      msg.setPaginated(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.provider_api.GetAllToolProviderResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.provider_api.GetAllToolProviderResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.provider_api.GetAllToolProviderResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      proto.provider_api.ToolProvider.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getPaginated();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Paginated.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated ToolProvider data = 3;\n * @return {!Array<!proto.provider_api.ToolProvider>}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.provider_api.ToolProvider>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.provider_api.ToolProvider, 3));\n};\n\n\n/**\n * @param {!Array<!proto.provider_api.ToolProvider>} value\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n*/\nproto.provider_api.GetAllToolProviderResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.provider_api.ToolProvider=} opt_value\n * @param {number=} opt_index\n * @return {!proto.provider_api.ToolProvider}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.provider_api.ToolProvider, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n*/\nproto.provider_api.GetAllToolProviderResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Paginated paginated = 5;\n * @return {?proto.Paginated}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.getPaginated = function() {\n  return /** @type{?proto.Paginated} */ (\n    jspb.Message.getWrapperField(this, common_pb.Paginated, 5));\n};\n\n\n/**\n * @param {?proto.Paginated|undefined} value\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n*/\nproto.provider_api.GetAllToolProviderResponse.prototype.setPaginated = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.provider_api.GetAllToolProviderResponse} returns this\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.clearPaginated = function() {\n  return this.setPaginated(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.provider_api.GetAllToolProviderResponse.prototype.hasPaginated = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\ngoog.object.extend(exports, proto.provider_api);\n","// package: provider_api\n// file: provider-api.proto\n\nvar provider_api_pb = require(\"./provider-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar ProviderService = (function () {\n  function ProviderService() {}\n  ProviderService.serviceName = \"provider_api.ProviderService\";\n  return ProviderService;\n}());\n\nProviderService.GetAllToolProvider = {\n  methodName: \"GetAllToolProvider\",\n  service: ProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: provider_api_pb.GetAllToolProviderRequest,\n  responseType: provider_api_pb.GetAllToolProviderResponse\n};\n\nProviderService.GetAllModelProvider = {\n  methodName: \"GetAllModelProvider\",\n  service: ProviderService,\n  requestStream: false,\n  responseStream: false,\n  requestType: provider_api_pb.GetAllModelProviderRequest,\n  responseType: provider_api_pb.GetAllModelProviderResponse\n};\n\nexports.ProviderService = ProviderService;\n\nfunction ProviderServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nProviderServiceClient.prototype.getAllToolProvider = function getAllToolProvider(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProviderService.GetAllToolProvider, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nProviderServiceClient.prototype.getAllModelProvider = function getAllModelProvider(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ProviderService.GetAllModelProvider, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ProviderServiceClient = ProviderServiceClient;\n\n","// source: invoker-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\ngoog.exportSymbol('proto.endpoint_api.EndpointDefinition', null, global);\ngoog.exportSymbol('proto.endpoint_api.InvokeRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.InvokeResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.ProbeRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.ProbeResponse', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateRequest', null, global);\ngoog.exportSymbol('proto.endpoint_api.UpdateResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.EndpointDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.EndpointDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.EndpointDefinition.displayName = 'proto.endpoint_api.EndpointDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.InvokeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.InvokeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.InvokeRequest.displayName = 'proto.endpoint_api.InvokeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.InvokeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.endpoint_api.InvokeResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.endpoint_api.InvokeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.InvokeResponse.displayName = 'proto.endpoint_api.InvokeResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateRequest.displayName = 'proto.endpoint_api.UpdateRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.UpdateResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.UpdateResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.UpdateResponse.displayName = 'proto.endpoint_api.UpdateResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ProbeRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ProbeRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ProbeRequest.displayName = 'proto.endpoint_api.ProbeRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.endpoint_api.ProbeResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.endpoint_api.ProbeResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.endpoint_api.ProbeResponse.displayName = 'proto.endpoint_api.ProbeResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.EndpointDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.EndpointDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.EndpointDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpointid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    version: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.EndpointDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.EndpointDefinition;\n  return proto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.EndpointDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setEndpointid(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.EndpointDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.EndpointDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.EndpointDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.EndpointDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpointid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 endpointId = 1;\n * @return {string}\n */\nproto.endpoint_api.EndpointDefinition.prototype.getEndpointid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointDefinition} returns this\n */\nproto.endpoint_api.EndpointDefinition.prototype.setEndpointid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional string version = 2;\n * @return {string}\n */\nproto.endpoint_api.EndpointDefinition.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.EndpointDefinition} returns this\n */\nproto.endpoint_api.EndpointDefinition.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.InvokeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.InvokeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.InvokeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    endpoint: (f = msg.getEndpoint()) && proto.endpoint_api.EndpointDefinition.toObject(includeInstance, f),\n    argsMap: (f = msg.getArgsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    optionsMap: (f = msg.getOptionsMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.InvokeRequest}\n */\nproto.endpoint_api.InvokeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.InvokeRequest;\n  return proto.endpoint_api.InvokeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.InvokeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.InvokeRequest}\n */\nproto.endpoint_api.InvokeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.endpoint_api.EndpointDefinition;\n      reader.readMessage(value,proto.endpoint_api.EndpointDefinition.deserializeBinaryFromReader);\n      msg.setEndpoint(value);\n      break;\n    case 5:\n      var value = msg.getArgsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = msg.getMetadataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = msg.getOptionsMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.InvokeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.InvokeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.InvokeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEndpoint();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.endpoint_api.EndpointDefinition.serializeBinaryToWriter\n    );\n  }\n  f = message.getArgsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getMetadataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getOptionsMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * optional EndpointDefinition endpoint = 1;\n * @return {?proto.endpoint_api.EndpointDefinition}\n */\nproto.endpoint_api.InvokeRequest.prototype.getEndpoint = function() {\n  return /** @type{?proto.endpoint_api.EndpointDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.endpoint_api.EndpointDefinition, 1));\n};\n\n\n/**\n * @param {?proto.endpoint_api.EndpointDefinition|undefined} value\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n*/\nproto.endpoint_api.InvokeRequest.prototype.setEndpoint = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearEndpoint = function() {\n  return this.setEndpoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeRequest.prototype.hasEndpoint = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * map<string, google.protobuf.Any> args = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getArgsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearArgsMap = function() {\n  this.getArgsMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> metadata = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getMetadataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearMetadataMap = function() {\n  this.getMetadataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> options = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.endpoint_api.InvokeRequest.prototype.getOptionsMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.endpoint_api.InvokeRequest} returns this\n */\nproto.endpoint_api.InvokeRequest.prototype.clearOptionsMap = function() {\n  this.getOptionsMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.endpoint_api.InvokeResponse.repeatedFields_ = [3,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.InvokeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.InvokeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.InvokeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    common_pb.Content.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    requestid: jspb.Message.getFieldWithDefault(msg, 5, 0),\n    timetaken: jspb.Message.getFieldWithDefault(msg, 6, 0),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    meta: (f = msg.getMeta()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.InvokeResponse}\n */\nproto.endpoint_api.InvokeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.InvokeResponse;\n  return proto.endpoint_api.InvokeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.InvokeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.InvokeResponse}\n */\nproto.endpoint_api.InvokeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 5:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 6:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setTimetaken(value);\n      break;\n    case 7:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 8:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMeta(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.InvokeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.InvokeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.InvokeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.InvokeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      3,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      5,\n      f\n    );\n  }\n  f = message.getTimetaken();\n  if (f !== 0) {\n    writer.writeUint64(\n      6,\n      f\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getMeta();\n  if (f != null) {\n    writer.writeMessage(\n      8,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated Content data = 3;\n * @return {!Array<!proto.Content>}\n */\nproto.endpoint_api.InvokeResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.Content>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Content, 3));\n};\n\n\n/**\n * @param {!Array<!proto.Content>} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.Content=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Content}\n */\nproto.endpoint_api.InvokeResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.Content, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.InvokeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional uint64 requestId = 5;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional uint64 timeTaken = 6;\n * @return {number}\n */\nproto.endpoint_api.InvokeResponse.prototype.getTimetaken = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.setTimetaken = function(value) {\n  return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * repeated Metric metrics = 7;\n * @return {!Array<!proto.Metric>}\n */\nproto.endpoint_api.InvokeResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.endpoint_api.InvokeResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional google.protobuf.Struct meta = 8;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.InvokeResponse.prototype.getMeta = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 8));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n*/\nproto.endpoint_api.InvokeResponse.prototype.setMeta = function(value) {\n  return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.InvokeResponse} returns this\n */\nproto.endpoint_api.InvokeResponse.prototype.clearMeta = function() {\n  return this.setMeta(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.InvokeResponse.prototype.hasMeta = function() {\n  return jspb.Message.getField(this, 8) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    metadata: (f = msg.getMetadata()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateRequest}\n */\nproto.endpoint_api.UpdateRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateRequest;\n  return proto.endpoint_api.UpdateRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateRequest}\n */\nproto.endpoint_api.UpdateRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRequestid(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setMetadata(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getMetadata();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 requestId = 1;\n * @return {string}\n */\nproto.endpoint_api.UpdateRequest.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n */\nproto.endpoint_api.UpdateRequest.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct metadata = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.UpdateRequest.prototype.getMetadata = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n*/\nproto.endpoint_api.UpdateRequest.prototype.setMetadata = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateRequest} returns this\n */\nproto.endpoint_api.UpdateRequest.prototype.clearMetadata = function() {\n  return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateRequest.prototype.hasMetadata = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.UpdateResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.UpdateResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.UpdateResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.UpdateResponse}\n */\nproto.endpoint_api.UpdateResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.UpdateResponse;\n  return proto.endpoint_api.UpdateResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.UpdateResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.UpdateResponse}\n */\nproto.endpoint_api.UpdateResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.UpdateResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.UpdateResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.UpdateResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.UpdateResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.UpdateResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.UpdateResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Error error = 3;\n * @return {?proto.Error}\n */\nproto.endpoint_api.UpdateResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 3));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n*/\nproto.endpoint_api.UpdateResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.UpdateResponse} returns this\n */\nproto.endpoint_api.UpdateResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.UpdateResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ProbeRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ProbeRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ProbeRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requestid: jspb.Message.getFieldWithDefault(msg, 1, \"0\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ProbeRequest}\n */\nproto.endpoint_api.ProbeRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ProbeRequest;\n  return proto.endpoint_api.ProbeRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ProbeRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ProbeRequest}\n */\nproto.endpoint_api.ProbeRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setRequestid(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ProbeRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ProbeRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ProbeRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequestid();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 requestId = 1;\n * @return {string}\n */\nproto.endpoint_api.ProbeRequest.prototype.getRequestid = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.endpoint_api.ProbeRequest} returns this\n */\nproto.endpoint_api.ProbeRequest.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.endpoint_api.ProbeResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.endpoint_api.ProbeResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.endpoint_api.ProbeResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    data: (f = msg.getData()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.endpoint_api.ProbeResponse}\n */\nproto.endpoint_api.ProbeResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.endpoint_api.ProbeResponse;\n  return proto.endpoint_api.ProbeResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.endpoint_api.ProbeResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.endpoint_api.ProbeResponse}\n */\nproto.endpoint_api.ProbeResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 4:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.endpoint_api.ProbeResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.endpoint_api.ProbeResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.endpoint_api.ProbeResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.endpoint_api.ProbeResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.endpoint_api.ProbeResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Struct data = 3;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.endpoint_api.ProbeResponse.prototype.getData = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n*/\nproto.endpoint_api.ProbeResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional Error error = 4;\n * @return {?proto.Error}\n */\nproto.endpoint_api.ProbeResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 4));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n*/\nproto.endpoint_api.ProbeResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.endpoint_api.ProbeResponse} returns this\n */\nproto.endpoint_api.ProbeResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.endpoint_api.ProbeResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\ngoog.object.extend(exports, proto.endpoint_api);\n","// package: endpoint_api\n// file: invoker-api.proto\n\nvar invoker_api_pb = require(\"./invoker-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar Deployment = (function () {\n  function Deployment() {}\n  Deployment.serviceName = \"endpoint_api.Deployment\";\n  return Deployment;\n}());\n\nDeployment.Invoke = {\n  methodName: \"Invoke\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.InvokeRequest,\n  responseType: invoker_api_pb.InvokeResponse\n};\n\nDeployment.Update = {\n  methodName: \"Update\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.UpdateRequest,\n  responseType: invoker_api_pb.UpdateResponse\n};\n\nDeployment.Probe = {\n  methodName: \"Probe\",\n  service: Deployment,\n  requestStream: false,\n  responseStream: false,\n  requestType: invoker_api_pb.ProbeRequest,\n  responseType: invoker_api_pb.ProbeResponse\n};\n\nexports.Deployment = Deployment;\n\nfunction DeploymentClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nDeploymentClient.prototype.invoke = function invoke(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Invoke, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nDeploymentClient.prototype.update = function update(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Update, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nDeploymentClient.prototype.probe = function probe(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(Deployment.Probe, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.DeploymentClient = DeploymentClient;\n\n","// source: sendgrid-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\ngoog.exportSymbol('proto.integration_api.Contact', null, global);\ngoog.exportSymbol('proto.integration_api.InviteMemeberEmailRequest', null, global);\ngoog.exportSymbol('proto.integration_api.InviteMemeberEmailResponse', null, global);\ngoog.exportSymbol('proto.integration_api.ResetPasswordEmailRequest', null, global);\ngoog.exportSymbol('proto.integration_api.ResetPasswordEmailResponse', null, global);\ngoog.exportSymbol('proto.integration_api.WelcomeEmailRequest', null, global);\ngoog.exportSymbol('proto.integration_api.WelcomeEmailResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Contact = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Contact, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Contact.displayName = 'proto.integration_api.Contact';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.WelcomeEmailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.WelcomeEmailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.WelcomeEmailRequest.displayName = 'proto.integration_api.WelcomeEmailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.WelcomeEmailResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.WelcomeEmailResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.WelcomeEmailResponse.displayName = 'proto.integration_api.WelcomeEmailResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ResetPasswordEmailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.ResetPasswordEmailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ResetPasswordEmailRequest.displayName = 'proto.integration_api.ResetPasswordEmailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ResetPasswordEmailResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.ResetPasswordEmailResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ResetPasswordEmailResponse.displayName = 'proto.integration_api.ResetPasswordEmailResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.InviteMemeberEmailRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.InviteMemeberEmailRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.InviteMemeberEmailRequest.displayName = 'proto.integration_api.InviteMemeberEmailRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.InviteMemeberEmailResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.InviteMemeberEmailResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.InviteMemeberEmailResponse.displayName = 'proto.integration_api.InviteMemeberEmailResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Contact.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Contact.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Contact} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Contact.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Contact}\n */\nproto.integration_api.Contact.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Contact;\n  return proto.integration_api.Contact.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Contact} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Contact}\n */\nproto.integration_api.Contact.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setEmail(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Contact.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Contact.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Contact} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Contact.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getEmail();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.integration_api.Contact.prototype.getEmail = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Contact} returns this\n */\nproto.integration_api.Contact.prototype.setEmail = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.integration_api.Contact.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Contact} returns this\n */\nproto.integration_api.Contact.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.WelcomeEmailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.WelcomeEmailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.WelcomeEmailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.WelcomeEmailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    to: (f = msg.getTo()) && proto.integration_api.Contact.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.WelcomeEmailRequest}\n */\nproto.integration_api.WelcomeEmailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.WelcomeEmailRequest;\n  return proto.integration_api.WelcomeEmailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.WelcomeEmailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.WelcomeEmailRequest}\n */\nproto.integration_api.WelcomeEmailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.Contact;\n      reader.readMessage(value,proto.integration_api.Contact.deserializeBinaryFromReader);\n      msg.setTo(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.WelcomeEmailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.WelcomeEmailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.WelcomeEmailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.WelcomeEmailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getTo();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.Contact.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {number}\n */\nproto.integration_api.WelcomeEmailRequest.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.WelcomeEmailRequest} returns this\n */\nproto.integration_api.WelcomeEmailRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Contact to = 2;\n * @return {?proto.integration_api.Contact}\n */\nproto.integration_api.WelcomeEmailRequest.prototype.getTo = function() {\n  return /** @type{?proto.integration_api.Contact} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Contact, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.Contact|undefined} value\n * @return {!proto.integration_api.WelcomeEmailRequest} returns this\n*/\nproto.integration_api.WelcomeEmailRequest.prototype.setTo = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.WelcomeEmailRequest} returns this\n */\nproto.integration_api.WelcomeEmailRequest.prototype.clearTo = function() {\n  return this.setTo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.WelcomeEmailRequest.prototype.hasTo = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.WelcomeEmailResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.WelcomeEmailResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.WelcomeEmailResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.WelcomeEmailResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.WelcomeEmailResponse}\n */\nproto.integration_api.WelcomeEmailResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.WelcomeEmailResponse;\n  return proto.integration_api.WelcomeEmailResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.WelcomeEmailResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.WelcomeEmailResponse}\n */\nproto.integration_api.WelcomeEmailResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.WelcomeEmailResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.WelcomeEmailResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.WelcomeEmailResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.WelcomeEmailResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.WelcomeEmailResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.WelcomeEmailResponse} returns this\n */\nproto.integration_api.WelcomeEmailResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.WelcomeEmailResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.WelcomeEmailResponse} returns this\n */\nproto.integration_api.WelcomeEmailResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ResetPasswordEmailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ResetPasswordEmailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ResetPasswordEmailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    to: (f = msg.getTo()) && proto.integration_api.Contact.toObject(includeInstance, f),\n    resetpasswordlink: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ResetPasswordEmailRequest}\n */\nproto.integration_api.ResetPasswordEmailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ResetPasswordEmailRequest;\n  return proto.integration_api.ResetPasswordEmailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ResetPasswordEmailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ResetPasswordEmailRequest}\n */\nproto.integration_api.ResetPasswordEmailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.Contact;\n      reader.readMessage(value,proto.integration_api.Contact.deserializeBinaryFromReader);\n      msg.setTo(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setResetpasswordlink(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ResetPasswordEmailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ResetPasswordEmailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ResetPasswordEmailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getTo();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.Contact.serializeBinaryToWriter\n    );\n  }\n  f = message.getResetpasswordlink();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {number}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.ResetPasswordEmailRequest} returns this\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Contact to = 2;\n * @return {?proto.integration_api.Contact}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.getTo = function() {\n  return /** @type{?proto.integration_api.Contact} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Contact, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.Contact|undefined} value\n * @return {!proto.integration_api.ResetPasswordEmailRequest} returns this\n*/\nproto.integration_api.ResetPasswordEmailRequest.prototype.setTo = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ResetPasswordEmailRequest} returns this\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.clearTo = function() {\n  return this.setTo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.hasTo = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string resetPasswordLink = 3;\n * @return {string}\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.getResetpasswordlink = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ResetPasswordEmailRequest} returns this\n */\nproto.integration_api.ResetPasswordEmailRequest.prototype.setResetpasswordlink = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ResetPasswordEmailResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ResetPasswordEmailResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ResetPasswordEmailResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ResetPasswordEmailResponse}\n */\nproto.integration_api.ResetPasswordEmailResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ResetPasswordEmailResponse;\n  return proto.integration_api.ResetPasswordEmailResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ResetPasswordEmailResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ResetPasswordEmailResponse}\n */\nproto.integration_api.ResetPasswordEmailResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ResetPasswordEmailResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ResetPasswordEmailResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ResetPasswordEmailResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.ResetPasswordEmailResponse} returns this\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.ResetPasswordEmailResponse} returns this\n */\nproto.integration_api.ResetPasswordEmailResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.InviteMemeberEmailRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.InviteMemeberEmailRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.InviteMemeberEmailRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    to: (f = msg.getTo()) && proto.integration_api.Contact.toObject(includeInstance, f),\n    organizationname: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    projectname: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    invitername: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.InviteMemeberEmailRequest}\n */\nproto.integration_api.InviteMemeberEmailRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.InviteMemeberEmailRequest;\n  return proto.integration_api.InviteMemeberEmailRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.InviteMemeberEmailRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.InviteMemeberEmailRequest}\n */\nproto.integration_api.InviteMemeberEmailRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setUserid(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.Contact;\n      reader.readMessage(value,proto.integration_api.Contact.deserializeBinaryFromReader);\n      msg.setTo(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setOrganizationname(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setProjectname(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setInvitername(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.InviteMemeberEmailRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.InviteMemeberEmailRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.InviteMemeberEmailRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getUserid();\n  if (f !== 0) {\n    writer.writeUint64(\n      1,\n      f\n    );\n  }\n  f = message.getTo();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.Contact.serializeBinaryToWriter\n    );\n  }\n  f = message.getOrganizationname();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getProjectname();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getInvitername();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional uint64 userId = 1;\n * @return {number}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.getUserid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.setUserid = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Contact to = 2;\n * @return {?proto.integration_api.Contact}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.getTo = function() {\n  return /** @type{?proto.integration_api.Contact} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Contact, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.Contact|undefined} value\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n*/\nproto.integration_api.InviteMemeberEmailRequest.prototype.setTo = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.clearTo = function() {\n  return this.setTo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.hasTo = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string organizationName = 3;\n * @return {string}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.getOrganizationname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.setOrganizationname = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string projectName = 4;\n * @return {string}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.getProjectname = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.setProjectname = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string inviterName = 5;\n * @return {string}\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.getInvitername = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.InviteMemeberEmailRequest} returns this\n */\nproto.integration_api.InviteMemeberEmailRequest.prototype.setInvitername = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.InviteMemeberEmailResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.InviteMemeberEmailResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.InviteMemeberEmailResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.InviteMemeberEmailResponse}\n */\nproto.integration_api.InviteMemeberEmailResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.InviteMemeberEmailResponse;\n  return proto.integration_api.InviteMemeberEmailResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.InviteMemeberEmailResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.InviteMemeberEmailResponse}\n */\nproto.integration_api.InviteMemeberEmailResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.InviteMemeberEmailResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.InviteMemeberEmailResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.InviteMemeberEmailResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.InviteMemeberEmailResponse} returns this\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.InviteMemeberEmailResponse} returns this\n */\nproto.integration_api.InviteMemeberEmailResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\ngoog.object.extend(exports, proto.integration_api);\n","// package: integration_api\n// file: sendgrid-api.proto\n\nvar sendgrid_api_pb = require(\"./sendgrid-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar SendgridService = (function () {\n  function SendgridService() {}\n  SendgridService.serviceName = \"integration_api.SendgridService\";\n  return SendgridService;\n}());\n\nSendgridService.WelcomeEmail = {\n  methodName: \"WelcomeEmail\",\n  service: SendgridService,\n  requestStream: false,\n  responseStream: false,\n  requestType: sendgrid_api_pb.WelcomeEmailRequest,\n  responseType: sendgrid_api_pb.WelcomeEmailResponse\n};\n\nSendgridService.ResetPasswordEmail = {\n  methodName: \"ResetPasswordEmail\",\n  service: SendgridService,\n  requestStream: false,\n  responseStream: false,\n  requestType: sendgrid_api_pb.ResetPasswordEmailRequest,\n  responseType: sendgrid_api_pb.ResetPasswordEmailResponse\n};\n\nSendgridService.InviteMemberEmail = {\n  methodName: \"InviteMemberEmail\",\n  service: SendgridService,\n  requestStream: false,\n  responseStream: false,\n  requestType: sendgrid_api_pb.InviteMemeberEmailRequest,\n  responseType: sendgrid_api_pb.InviteMemeberEmailResponse\n};\n\nexports.SendgridService = SendgridService;\n\nfunction SendgridServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nSendgridServiceClient.prototype.welcomeEmail = function welcomeEmail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(SendgridService.WelcomeEmail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nSendgridServiceClient.prototype.resetPasswordEmail = function resetPasswordEmail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(SendgridService.ResetPasswordEmail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nSendgridServiceClient.prototype.inviteMemberEmail = function inviteMemberEmail(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(SendgridService.InviteMemberEmail, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.SendgridServiceClient = SendgridServiceClient;\n\n","// source: integration-api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n *     field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar google_protobuf_struct_pb = require('google-protobuf/google/protobuf/struct_pb.js');\ngoog.object.extend(proto, google_protobuf_struct_pb);\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\ngoog.exportSymbol('proto.integration_api.ChatRequest', null, global);\ngoog.exportSymbol('proto.integration_api.ChatResponse', null, global);\ngoog.exportSymbol('proto.integration_api.Credential', null, global);\ngoog.exportSymbol('proto.integration_api.Embedding', null, global);\ngoog.exportSymbol('proto.integration_api.EmbeddingRequest', null, global);\ngoog.exportSymbol('proto.integration_api.EmbeddingResponse', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionDefinition', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionParameter', null, global);\ngoog.exportSymbol('proto.integration_api.FunctionParameterProperty', null, global);\ngoog.exportSymbol('proto.integration_api.GetModerationRequest', null, global);\ngoog.exportSymbol('proto.integration_api.GetModerationResponse', null, global);\ngoog.exportSymbol('proto.integration_api.Moderation', null, global);\ngoog.exportSymbol('proto.integration_api.Reranking', null, global);\ngoog.exportSymbol('proto.integration_api.RerankingRequest', null, global);\ngoog.exportSymbol('proto.integration_api.RerankingResponse', null, global);\ngoog.exportSymbol('proto.integration_api.ToolDefinition', null, global);\ngoog.exportSymbol('proto.integration_api.VerifyCredentialRequest', null, global);\ngoog.exportSymbol('proto.integration_api.VerifyCredentialResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Credential = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Credential, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Credential.displayName = 'proto.integration_api.Credential';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ToolDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.ToolDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ToolDefinition.displayName = 'proto.integration_api.ToolDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionDefinition = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.FunctionDefinition, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionDefinition.displayName = 'proto.integration_api.FunctionDefinition';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionParameter = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.FunctionParameter.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.FunctionParameter, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionParameter.displayName = 'proto.integration_api.FunctionParameter';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.FunctionParameterProperty = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.FunctionParameterProperty.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.FunctionParameterProperty, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.FunctionParameterProperty.displayName = 'proto.integration_api.FunctionParameterProperty';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Embedding = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.Embedding.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.Embedding, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Embedding.displayName = 'proto.integration_api.Embedding';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.EmbeddingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.EmbeddingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.EmbeddingRequest.displayName = 'proto.integration_api.EmbeddingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.EmbeddingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.EmbeddingResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.EmbeddingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.EmbeddingResponse.displayName = 'proto.integration_api.EmbeddingResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Reranking = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Reranking, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Reranking.displayName = 'proto.integration_api.Reranking';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.RerankingRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.RerankingRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.RerankingRequest.displayName = 'proto.integration_api.RerankingRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.RerankingResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.RerankingResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.RerankingResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.RerankingResponse.displayName = 'proto.integration_api.RerankingResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ChatResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.ChatResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.ChatResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ChatResponse.displayName = 'proto.integration_api.ChatResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.ChatRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.ChatRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.ChatRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.ChatRequest.displayName = 'proto.integration_api.ChatRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.VerifyCredentialRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.VerifyCredentialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.VerifyCredentialRequest.displayName = 'proto.integration_api.VerifyCredentialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.VerifyCredentialResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.VerifyCredentialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.VerifyCredentialResponse.displayName = 'proto.integration_api.VerifyCredentialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.Moderation = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.Moderation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.Moderation.displayName = 'proto.integration_api.Moderation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetModerationRequest = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.integration_api.GetModerationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetModerationRequest.displayName = 'proto.integration_api.GetModerationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.integration_api.GetModerationResponse = function(opt_data) {\n  jspb.Message.initialize(this, opt_data, 0, -1, proto.integration_api.GetModerationResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.integration_api.GetModerationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n  /**\n   * @public\n   * @override\n   */\n  proto.integration_api.GetModerationResponse.displayName = 'proto.integration_api.GetModerationResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Credential.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Credential.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Credential} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Credential.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    id: jspb.Message.getFieldWithDefault(msg, 1, \"0\"),\n    value: (f = msg.getValue()) && google_protobuf_struct_pb.Struct.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Credential}\n */\nproto.integration_api.Credential.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Credential;\n  return proto.integration_api.Credential.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Credential} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Credential}\n */\nproto.integration_api.Credential.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readUint64String());\n      msg.setId(value);\n      break;\n    case 2:\n      var value = new google_protobuf_struct_pb.Struct;\n      reader.readMessage(value,google_protobuf_struct_pb.Struct.deserializeBinaryFromReader);\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Credential.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Credential.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Credential} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Credential.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getId();\n  if (parseInt(f, 10) !== 0) {\n    writer.writeUint64String(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      google_protobuf_struct_pb.Struct.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional uint64 id = 1;\n * @return {string}\n */\nproto.integration_api.Credential.prototype.getId = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"0\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Credential} returns this\n */\nproto.integration_api.Credential.prototype.setId = function(value) {\n  return jspb.Message.setProto3StringIntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Struct value = 2;\n * @return {?proto.google.protobuf.Struct}\n */\nproto.integration_api.Credential.prototype.getValue = function() {\n  return /** @type{?proto.google.protobuf.Struct} */ (\n    jspb.Message.getWrapperField(this, google_protobuf_struct_pb.Struct, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Struct|undefined} value\n * @return {!proto.integration_api.Credential} returns this\n*/\nproto.integration_api.Credential.prototype.setValue = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.Credential} returns this\n */\nproto.integration_api.Credential.prototype.clearValue = function() {\n  return this.setValue(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.Credential.prototype.hasValue = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ToolDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ToolDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ToolDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ToolDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    type: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    functiondefinition: (f = msg.getFunctiondefinition()) && proto.integration_api.FunctionDefinition.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ToolDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ToolDefinition;\n  return proto.integration_api.ToolDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ToolDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ToolDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 2:\n      var value = new proto.integration_api.FunctionDefinition;\n      reader.readMessage(value,proto.integration_api.FunctionDefinition.deserializeBinaryFromReader);\n      msg.setFunctiondefinition(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ToolDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ToolDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ToolDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ToolDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getFunctiondefinition();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      proto.integration_api.FunctionDefinition.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string type = 1;\n * @return {string}\n */\nproto.integration_api.ToolDefinition.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ToolDefinition} returns this\n */\nproto.integration_api.ToolDefinition.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional FunctionDefinition functionDefinition = 2;\n * @return {?proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.ToolDefinition.prototype.getFunctiondefinition = function() {\n  return /** @type{?proto.integration_api.FunctionDefinition} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionDefinition, 2));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionDefinition|undefined} value\n * @return {!proto.integration_api.ToolDefinition} returns this\n*/\nproto.integration_api.ToolDefinition.prototype.setFunctiondefinition = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ToolDefinition} returns this\n */\nproto.integration_api.ToolDefinition.prototype.clearFunctiondefinition = function() {\n  return this.setFunctiondefinition(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ToolDefinition.prototype.hasFunctiondefinition = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionDefinition.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionDefinition.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionDefinition} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionDefinition.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    parameters: (f = msg.getParameters()) && proto.integration_api.FunctionParameter.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.FunctionDefinition.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionDefinition;\n  return proto.integration_api.FunctionDefinition.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionDefinition} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionDefinition}\n */\nproto.integration_api.FunctionDefinition.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 3:\n      var value = new proto.integration_api.FunctionParameter;\n      reader.readMessage(value,proto.integration_api.FunctionParameter.deserializeBinaryFromReader);\n      msg.setParameters(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionDefinition.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionDefinition.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionDefinition} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionDefinition.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getParameters();\n  if (f != null) {\n    writer.writeMessage(\n      3,\n      f,\n      proto.integration_api.FunctionParameter.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.integration_api.FunctionDefinition.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.integration_api.FunctionDefinition.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional FunctionParameter parameters = 3;\n * @return {?proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionDefinition.prototype.getParameters = function() {\n  return /** @type{?proto.integration_api.FunctionParameter} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionParameter, 3));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionParameter|undefined} value\n * @return {!proto.integration_api.FunctionDefinition} returns this\n*/\nproto.integration_api.FunctionDefinition.prototype.setParameters = function(value) {\n  return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.FunctionDefinition} returns this\n */\nproto.integration_api.FunctionDefinition.prototype.clearParameters = function() {\n  return this.setParameters(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.FunctionDefinition.prototype.hasParameters = function() {\n  return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.FunctionParameter.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionParameter.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionParameter.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionParameter} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameter.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    requiredList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n    type: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, proto.integration_api.FunctionParameterProperty.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameter.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionParameter;\n  return proto.integration_api.FunctionParameter.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionParameter} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameter.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addRequired(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 3:\n      var value = msg.getPropertiesMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader, \"\", new proto.integration_api.FunctionParameterProperty());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionParameter.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionParameter.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionParameter} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameter.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getRequiredList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      1,\n      f\n    );\n  }\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getPropertiesMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.integration_api.FunctionParameterProperty.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * repeated string required = 1;\n * @return {!Array<string>}\n */\nproto.integration_api.FunctionParameter.prototype.getRequiredList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.setRequiredList = function(value) {\n  return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.addRequired = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.clearRequiredList = function() {\n  return this.setRequiredList([]);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.integration_api.FunctionParameter.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * map<string, FunctionParameterProperty> properties = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.integration_api.FunctionParameterProperty>}\n */\nproto.integration_api.FunctionParameter.prototype.getPropertiesMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.integration_api.FunctionParameterProperty>} */ (\n      jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n      proto.integration_api.FunctionParameterProperty));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.FunctionParameter} returns this\n */\nproto.integration_api.FunctionParameter.prototype.clearPropertiesMap = function() {\n  this.getPropertiesMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.FunctionParameterProperty.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.FunctionParameterProperty.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.FunctionParameterProperty.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.FunctionParameterProperty} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameterProperty.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    type: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    description: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    enumList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n    items: (f = msg.getItems()) && proto.integration_api.FunctionParameter.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.FunctionParameterProperty}\n */\nproto.integration_api.FunctionParameterProperty.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.FunctionParameterProperty;\n  return proto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.FunctionParameterProperty} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.FunctionParameterProperty}\n */\nproto.integration_api.FunctionParameterProperty.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setType(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setDescription(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.addEnum(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.FunctionParameter;\n      reader.readMessage(value,proto.integration_api.FunctionParameter.deserializeBinaryFromReader);\n      msg.setItems(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.FunctionParameterProperty.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.FunctionParameterProperty.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.FunctionParameterProperty} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.FunctionParameterProperty.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getType();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getDescription();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getEnumList();\n  if (f.length > 0) {\n    writer.writeRepeatedString(\n      3,\n      f\n    );\n  }\n  f = message.getItems();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      proto.integration_api.FunctionParameter.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional string type = 1;\n * @return {string}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getType = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setType = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string description = 2;\n * @return {string}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getDescription = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setDescription = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string enum = 3;\n * @return {!Array<string>}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getEnumList = function() {\n  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array<string>} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.setEnumList = function(value) {\n  return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.addEnum = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.clearEnumList = function() {\n  return this.setEnumList([]);\n};\n\n\n/**\n * optional FunctionParameter items = 4;\n * @return {?proto.integration_api.FunctionParameter}\n */\nproto.integration_api.FunctionParameterProperty.prototype.getItems = function() {\n  return /** @type{?proto.integration_api.FunctionParameter} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.FunctionParameter, 4));\n};\n\n\n/**\n * @param {?proto.integration_api.FunctionParameter|undefined} value\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n*/\nproto.integration_api.FunctionParameterProperty.prototype.setItems = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.FunctionParameterProperty} returns this\n */\nproto.integration_api.FunctionParameterProperty.prototype.clearItems = function() {\n  return this.setItems(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.FunctionParameterProperty.prototype.hasItems = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.Embedding.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Embedding.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Embedding.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Embedding} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Embedding.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    embeddingList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 2)) == null ? undefined : f,\n    base64: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.Embedding.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Embedding;\n  return proto.integration_api.Embedding.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Embedding} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.Embedding.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setIndex(value);\n      break;\n    case 2:\n      var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedDouble() : [reader.readDouble()]);\n      for (var i = 0; i < values.length; i++) {\n        msg.addEmbedding(values[i]);\n      }\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setBase64(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Embedding.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Embedding.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Embedding} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Embedding.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getEmbeddingList();\n  if (f.length > 0) {\n    writer.writePackedDouble(\n      2,\n      f\n    );\n  }\n  f = message.getBase64();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 index = 1;\n * @return {number}\n */\nproto.integration_api.Embedding.prototype.getIndex = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated double embedding = 2;\n * @return {!Array<number>}\n */\nproto.integration_api.Embedding.prototype.getEmbeddingList = function() {\n  return /** @type {!Array<number>} */ (jspb.Message.getRepeatedFloatingPointField(this, 2));\n};\n\n\n/**\n * @param {!Array<number>} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setEmbeddingList = function(value) {\n  return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.addEmbedding = function(value, opt_index) {\n  return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.clearEmbeddingList = function() {\n  return this.setEmbeddingList([]);\n};\n\n\n/**\n * optional string base64 = 3;\n * @return {string}\n */\nproto.integration_api.Embedding.prototype.getBase64 = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Embedding} returns this\n */\nproto.integration_api.Embedding.prototype.setBase64 = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.EmbeddingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.EmbeddingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.EmbeddingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    contentMap: (f = msg.getContentMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.EmbeddingRequest}\n */\nproto.integration_api.EmbeddingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.EmbeddingRequest;\n  return proto.integration_api.EmbeddingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.EmbeddingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.EmbeddingRequest}\n */\nproto.integration_api.EmbeddingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 4:\n      var value = msg.getContentMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readString, null, 0, \"\");\n         });\n      break;\n    case 5:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 6:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.EmbeddingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.EmbeddingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.EmbeddingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getContentMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.EmbeddingRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n*/\nproto.integration_api.EmbeddingRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.EmbeddingRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * map<int32, string> content = 4;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<number,string>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getContentMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<number,string>} */ (\n      jspb.Message.getMapField(this, 4, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearContentMap = function() {\n  this.getContentMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> additionalData = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.EmbeddingRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.EmbeddingRequest} returns this\n */\nproto.integration_api.EmbeddingRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.EmbeddingResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.EmbeddingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.EmbeddingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.EmbeddingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Embedding.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.EmbeddingResponse}\n */\nproto.integration_api.EmbeddingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.EmbeddingResponse;\n  return proto.integration_api.EmbeddingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.EmbeddingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.EmbeddingResponse}\n */\nproto.integration_api.EmbeddingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Embedding;\n      reader.readMessage(value,proto.integration_api.Embedding.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.EmbeddingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.EmbeddingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.EmbeddingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.EmbeddingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Embedding.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.EmbeddingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.EmbeddingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.EmbeddingResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Embedding data = 4;\n * @return {!Array<!proto.integration_api.Embedding>}\n */\nproto.integration_api.EmbeddingResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Embedding>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Embedding, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Embedding>} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Embedding=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Embedding}\n */\nproto.integration_api.EmbeddingResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Embedding, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.EmbeddingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.EmbeddingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.EmbeddingResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n*/\nproto.integration_api.EmbeddingResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.EmbeddingResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.EmbeddingResponse} returns this\n */\nproto.integration_api.EmbeddingResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Reranking.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Reranking.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Reranking} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Reranking.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    index: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    content: (f = msg.getContent()) && common_pb.Content.toObject(includeInstance, f),\n    relevancescore: jspb.Message.getFloatingPointFieldWithDefault(msg, 3, 0.0)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.Reranking.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Reranking;\n  return proto.integration_api.Reranking.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Reranking} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.Reranking.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setIndex(value);\n      break;\n    case 2:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.setContent(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readDouble());\n      msg.setRelevancescore(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Reranking.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Reranking.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Reranking} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Reranking.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getIndex();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f != null) {\n    writer.writeMessage(\n      2,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getRelevancescore();\n  if (f !== 0.0) {\n    writer.writeDouble(\n      3,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 index = 1;\n * @return {number}\n */\nproto.integration_api.Reranking.prototype.getIndex = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.setIndex = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Content content = 2;\n * @return {?proto.Content}\n */\nproto.integration_api.Reranking.prototype.getContent = function() {\n  return /** @type{?proto.Content} */ (\n    jspb.Message.getWrapperField(this, common_pb.Content, 2));\n};\n\n\n/**\n * @param {?proto.Content|undefined} value\n * @return {!proto.integration_api.Reranking} returns this\n*/\nproto.integration_api.Reranking.prototype.setContent = function(value) {\n  return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.clearContent = function() {\n  return this.setContent(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.Reranking.prototype.hasContent = function() {\n  return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional double RelevanceScore = 3;\n * @return {number}\n */\nproto.integration_api.Reranking.prototype.getRelevancescore = function() {\n  return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 3, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.Reranking} returns this\n */\nproto.integration_api.Reranking.prototype.setRelevancescore = function(value) {\n  return jspb.Message.setProto3FloatField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.RerankingRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.RerankingRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.RerankingRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    query: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    contentMap: (f = msg.getContentMap()) ? f.toObject(includeInstance, proto.Content.toObject) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.RerankingRequest}\n */\nproto.integration_api.RerankingRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.RerankingRequest;\n  return proto.integration_api.RerankingRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.RerankingRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.RerankingRequest}\n */\nproto.integration_api.RerankingRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setQuery(value);\n      break;\n    case 5:\n      var value = msg.getContentMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readMessage, proto.Content.deserializeBinaryFromReader, 0, new proto.Content());\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.RerankingRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.RerankingRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.RerankingRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getQuery();\n  if (f.length > 0) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getContentMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeMessage, proto.Content.serializeBinaryToWriter);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.RerankingRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.RerankingRequest} returns this\n*/\nproto.integration_api.RerankingRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.RerankingRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string query = 4;\n * @return {string}\n */\nproto.integration_api.RerankingRequest.prototype.getQuery = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.setQuery = function(value) {\n  return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * map<int32, Content> content = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<number,!proto.Content>}\n */\nproto.integration_api.RerankingRequest.prototype.getContentMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<number,!proto.Content>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      proto.Content));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearContentMap = function() {\n  this.getContentMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.RerankingRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * map<string, string> additionalData = 7;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.RerankingRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 7, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.RerankingRequest} returns this\n */\nproto.integration_api.RerankingRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.RerankingResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.RerankingResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.RerankingResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.RerankingResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Reranking.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.RerankingResponse}\n */\nproto.integration_api.RerankingResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.RerankingResponse;\n  return proto.integration_api.RerankingResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.RerankingResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.RerankingResponse}\n */\nproto.integration_api.RerankingResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Reranking;\n      reader.readMessage(value,proto.integration_api.Reranking.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.RerankingResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.RerankingResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.RerankingResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.RerankingResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Reranking.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.RerankingResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.RerankingResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.RerankingResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Reranking data = 4;\n * @return {!Array<!proto.integration_api.Reranking>}\n */\nproto.integration_api.RerankingResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Reranking>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Reranking, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Reranking>} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Reranking=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Reranking}\n */\nproto.integration_api.RerankingResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Reranking, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.RerankingResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.RerankingResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.RerankingResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.RerankingResponse} returns this\n*/\nproto.integration_api.RerankingResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.RerankingResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.RerankingResponse} returns this\n */\nproto.integration_api.RerankingResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.ChatResponse.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ChatResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ChatResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ChatResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    data: (f = msg.getData()) && common_pb.Message.toObject(includeInstance, f),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance),\n    finishreason: jspb.Message.getFieldWithDefault(msg, 8, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ChatResponse}\n */\nproto.integration_api.ChatResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ChatResponse;\n  return proto.integration_api.ChatResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ChatResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ChatResponse}\n */\nproto.integration_api.ChatResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.setData(value);\n      break;\n    case 6:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 7:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    case 8:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setFinishreason(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ChatResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ChatResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ChatResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getData();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      6,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n  f = message.getFinishreason();\n  if (f.length > 0) {\n    writer.writeString(\n      8,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.ChatResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.ChatResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional Message data = 4;\n * @return {?proto.Message}\n */\nproto.integration_api.ChatResponse.prototype.getData = function() {\n  return /** @type{?proto.Message} */ (\n    jspb.Message.getWrapperField(this, common_pb.Message, 4));\n};\n\n\n/**\n * @param {?proto.Message|undefined} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setData = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearData = function() {\n  return this.setData(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.hasData = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Error error = 6;\n * @return {?proto.Error}\n */\nproto.integration_api.ChatResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 6));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * repeated Metric metrics = 7;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.ChatResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 7));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.ChatResponse} returns this\n*/\nproto.integration_api.ChatResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.ChatResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\n/**\n * optional string finishReason = 8;\n * @return {string}\n */\nproto.integration_api.ChatResponse.prototype.getFinishreason = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.ChatResponse} returns this\n */\nproto.integration_api.ChatResponse.prototype.setFinishreason = function(value) {\n  return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.ChatRequest.repeatedFields_ = [4,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.ChatRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.ChatRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.ChatRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    conversationsList: jspb.Message.toObjectList(msg.getConversationsList(),\n    common_pb.Message.toObject, includeInstance),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : [],\n    tooldefinitionsList: jspb.Message.toObjectList(msg.getTooldefinitionsList(),\n    proto.integration_api.ToolDefinition.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.ChatRequest}\n */\nproto.integration_api.ChatRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.ChatRequest;\n  return proto.integration_api.ChatRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.ChatRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.ChatRequest}\n */\nproto.integration_api.ChatRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 4:\n      var value = new common_pb.Message;\n      reader.readMessage(value,common_pb.Message.deserializeBinaryFromReader);\n      msg.addConversations(value);\n      break;\n    case 5:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    case 7:\n      var value = new proto.integration_api.ToolDefinition;\n      reader.readMessage(value,proto.integration_api.ToolDefinition.deserializeBinaryFromReader);\n      msg.addTooldefinitions(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.ChatRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.ChatRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.ChatRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.ChatRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getConversationsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      common_pb.Message.serializeBinaryToWriter\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n  f = message.getTooldefinitionsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      7,\n      f,\n      proto.integration_api.ToolDefinition.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.ChatRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.ChatRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * repeated Message conversations = 4;\n * @return {!Array<!proto.Message>}\n */\nproto.integration_api.ChatRequest.prototype.getConversationsList = function() {\n  return /** @type{!Array<!proto.Message>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Message, 4));\n};\n\n\n/**\n * @param {!Array<!proto.Message>} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setConversationsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.Message=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Message}\n */\nproto.integration_api.ChatRequest.prototype.addConversations = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.Message, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearConversationsList = function() {\n  return this.setConversationsList([]);\n};\n\n\n/**\n * map<string, string> additionalData = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.ChatRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.ChatRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n/**\n * repeated ToolDefinition toolDefinitions = 7;\n * @return {!Array<!proto.integration_api.ToolDefinition>}\n */\nproto.integration_api.ChatRequest.prototype.getTooldefinitionsList = function() {\n  return /** @type{!Array<!proto.integration_api.ToolDefinition>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.ToolDefinition, 7));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.ToolDefinition>} value\n * @return {!proto.integration_api.ChatRequest} returns this\n*/\nproto.integration_api.ChatRequest.prototype.setTooldefinitionsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.integration_api.ToolDefinition=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.ToolDefinition}\n */\nproto.integration_api.ChatRequest.prototype.addTooldefinitions = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.integration_api.ToolDefinition, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.ChatRequest} returns this\n */\nproto.integration_api.ChatRequest.prototype.clearTooldefinitionsList = function() {\n  return this.setTooldefinitionsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.VerifyCredentialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.VerifyCredentialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.VerifyCredentialRequest}\n */\nproto.integration_api.VerifyCredentialRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.VerifyCredentialRequest;\n  return proto.integration_api.VerifyCredentialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.VerifyCredentialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.VerifyCredentialRequest}\n */\nproto.integration_api.VerifyCredentialRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.VerifyCredentialRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.VerifyCredentialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.VerifyCredentialRequest} returns this\n*/\nproto.integration_api.VerifyCredentialRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.VerifyCredentialRequest} returns this\n */\nproto.integration_api.VerifyCredentialRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.VerifyCredentialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.VerifyCredentialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    response: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n    errormessage: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.VerifyCredentialResponse}\n */\nproto.integration_api.VerifyCredentialResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.VerifyCredentialResponse;\n  return proto.integration_api.VerifyCredentialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.VerifyCredentialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.VerifyCredentialResponse}\n */\nproto.integration_api.VerifyCredentialResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setResponse(value);\n      break;\n    case 5:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setErrormessage(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.VerifyCredentialResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.VerifyCredentialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.VerifyCredentialResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = /** @type {string} */ (jspb.Message.getField(message, 4));\n  if (f != null) {\n    writer.writeString(\n      4,\n      f\n    );\n  }\n  f = message.getErrormessage();\n  if (f.length > 0) {\n    writer.writeString(\n      5,\n      f\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string response = 4;\n * @return {string}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getResponse = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setResponse = function(value) {\n  return jspb.Message.setField(this, 4, value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.clearResponse = function() {\n  return jspb.Message.setField(this, 4, undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.hasResponse = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional string errorMessage = 5;\n * @return {string}\n */\nproto.integration_api.VerifyCredentialResponse.prototype.getErrormessage = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.VerifyCredentialResponse} returns this\n */\nproto.integration_api.VerifyCredentialResponse.prototype.setErrormessage = function(value) {\n  return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.Moderation.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.Moderation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.Moderation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Moderation.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n    value: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.Moderation.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.Moderation;\n  return proto.integration_api.Moderation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.Moderation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.Moderation.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setName(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setValue(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.Moderation.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.Moderation.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.Moderation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.Moderation.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getName();\n  if (f.length > 0) {\n    writer.writeString(\n      1,\n      f\n    );\n  }\n  f = message.getValue();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.integration_api.Moderation.prototype.getName = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Moderation} returns this\n */\nproto.integration_api.Moderation.prototype.setName = function(value) {\n  return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.integration_api.Moderation.prototype.getValue = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.Moderation} returns this\n */\nproto.integration_api.Moderation.prototype.setValue = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetModerationRequest.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetModerationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetModerationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationRequest.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    credential: (f = msg.getCredential()) && proto.integration_api.Credential.toObject(includeInstance, f),\n    model: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n    version: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n    content: (f = msg.getContent()) && common_pb.Content.toObject(includeInstance, f),\n    additionaldataMap: (f = msg.getAdditionaldataMap()) ? f.toObject(includeInstance, undefined) : [],\n    modelparametersMap: (f = msg.getModelparametersMap()) ? f.toObject(includeInstance, proto.google.protobuf.Any.toObject) : []\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetModerationRequest}\n */\nproto.integration_api.GetModerationRequest.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetModerationRequest;\n  return proto.integration_api.GetModerationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetModerationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetModerationRequest}\n */\nproto.integration_api.GetModerationRequest.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = new proto.integration_api.Credential;\n      reader.readMessage(value,proto.integration_api.Credential.deserializeBinaryFromReader);\n      msg.setCredential(value);\n      break;\n    case 2:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setModel(value);\n      break;\n    case 3:\n      var value = /** @type {string} */ (reader.readString());\n      msg.setVersion(value);\n      break;\n    case 4:\n      var value = new common_pb.Content;\n      reader.readMessage(value,common_pb.Content.deserializeBinaryFromReader);\n      msg.setContent(value);\n      break;\n    case 5:\n      var value = msg.getAdditionaldataMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, \"\", \"\");\n         });\n      break;\n    case 6:\n      var value = msg.getModelparametersMap();\n      reader.readMessage(value, function(message, reader) {\n        jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.google.protobuf.Any.deserializeBinaryFromReader, \"\", new proto.google.protobuf.Any());\n         });\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetModerationRequest.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetModerationRequest.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetModerationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationRequest.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCredential();\n  if (f != null) {\n    writer.writeMessage(\n      1,\n      f,\n      proto.integration_api.Credential.serializeBinaryToWriter\n    );\n  }\n  f = message.getModel();\n  if (f.length > 0) {\n    writer.writeString(\n      2,\n      f\n    );\n  }\n  f = message.getVersion();\n  if (f.length > 0) {\n    writer.writeString(\n      3,\n      f\n    );\n  }\n  f = message.getContent();\n  if (f != null) {\n    writer.writeMessage(\n      4,\n      f,\n      common_pb.Content.serializeBinaryToWriter\n    );\n  }\n  f = message.getAdditionaldataMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);\n  }\n  f = message.getModelparametersMap(true);\n  if (f && f.getLength() > 0) {\n    f.serializeBinary(6, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.google.protobuf.Any.serializeBinaryToWriter);\n  }\n};\n\n\n/**\n * optional Credential credential = 1;\n * @return {?proto.integration_api.Credential}\n */\nproto.integration_api.GetModerationRequest.prototype.getCredential = function() {\n  return /** @type{?proto.integration_api.Credential} */ (\n    jspb.Message.getWrapperField(this, proto.integration_api.Credential, 1));\n};\n\n\n/**\n * @param {?proto.integration_api.Credential|undefined} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n*/\nproto.integration_api.GetModerationRequest.prototype.setCredential = function(value) {\n  return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearCredential = function() {\n  return this.setCredential(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetModerationRequest.prototype.hasCredential = function() {\n  return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string model = 2;\n * @return {string}\n */\nproto.integration_api.GetModerationRequest.prototype.getModel = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.setModel = function(value) {\n  return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string version = 3;\n * @return {string}\n */\nproto.integration_api.GetModerationRequest.prototype.getVersion = function() {\n  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.setVersion = function(value) {\n  return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional Content content = 4;\n * @return {?proto.Content}\n */\nproto.integration_api.GetModerationRequest.prototype.getContent = function() {\n  return /** @type{?proto.Content} */ (\n    jspb.Message.getWrapperField(this, common_pb.Content, 4));\n};\n\n\n/**\n * @param {?proto.Content|undefined} value\n * @return {!proto.integration_api.GetModerationRequest} returns this\n*/\nproto.integration_api.GetModerationRequest.prototype.setContent = function(value) {\n  return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearContent = function() {\n  return this.setContent(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetModerationRequest.prototype.hasContent = function() {\n  return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * map<string, string> additionalData = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,string>}\n */\nproto.integration_api.GetModerationRequest.prototype.getAdditionaldataMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,string>} */ (\n      jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n      null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearAdditionaldataMap = function() {\n  this.getAdditionaldataMap().clear();\n  return this;};\n\n\n/**\n * map<string, google.protobuf.Any> modelParameters = 6;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map<string,!proto.google.protobuf.Any>}\n */\nproto.integration_api.GetModerationRequest.prototype.getModelparametersMap = function(opt_noLazyCreate) {\n  return /** @type {!jspb.Map<string,!proto.google.protobuf.Any>} */ (\n      jspb.Message.getMapField(this, 6, opt_noLazyCreate,\n      proto.google.protobuf.Any));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.integration_api.GetModerationRequest} returns this\n */\nproto.integration_api.GetModerationRequest.prototype.clearModelparametersMap = function() {\n  this.getModelparametersMap().clear();\n  return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array<number>}\n * @const\n */\nproto.integration_api.GetModerationResponse.repeatedFields_ = [4,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.\n * For the list of reserved names please see:\n *     net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n *     JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.integration_api.GetModerationResponse.prototype.toObject = function(opt_includeInstance) {\n  return proto.integration_api.GetModerationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n *     the JSPB instance for transitional soy proto support:\n *     http://goto/soy-param-migration\n * @param {!proto.integration_api.GetModerationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationResponse.toObject = function(includeInstance, msg) {\n  var f, obj = {\n    code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n    success: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n    requestid: jspb.Message.getFieldWithDefault(msg, 3, 0),\n    dataList: jspb.Message.toObjectList(msg.getDataList(),\n    proto.integration_api.Moderation.toObject, includeInstance),\n    error: (f = msg.getError()) && common_pb.Error.toObject(includeInstance, f),\n    metricsList: jspb.Message.toObjectList(msg.getMetricsList(),\n    common_pb.Metric.toObject, includeInstance)\n  };\n\n  if (includeInstance) {\n    obj.$jspbMessageInstance = msg;\n  }\n  return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.integration_api.GetModerationResponse}\n */\nproto.integration_api.GetModerationResponse.deserializeBinary = function(bytes) {\n  var reader = new jspb.BinaryReader(bytes);\n  var msg = new proto.integration_api.GetModerationResponse;\n  return proto.integration_api.GetModerationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.integration_api.GetModerationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.integration_api.GetModerationResponse}\n */\nproto.integration_api.GetModerationResponse.deserializeBinaryFromReader = function(msg, reader) {\n  while (reader.nextField()) {\n    if (reader.isEndGroup()) {\n      break;\n    }\n    var field = reader.getFieldNumber();\n    switch (field) {\n    case 1:\n      var value = /** @type {number} */ (reader.readInt32());\n      msg.setCode(value);\n      break;\n    case 2:\n      var value = /** @type {boolean} */ (reader.readBool());\n      msg.setSuccess(value);\n      break;\n    case 3:\n      var value = /** @type {number} */ (reader.readUint64());\n      msg.setRequestid(value);\n      break;\n    case 4:\n      var value = new proto.integration_api.Moderation;\n      reader.readMessage(value,proto.integration_api.Moderation.deserializeBinaryFromReader);\n      msg.addData(value);\n      break;\n    case 5:\n      var value = new common_pb.Error;\n      reader.readMessage(value,common_pb.Error.deserializeBinaryFromReader);\n      msg.setError(value);\n      break;\n    case 6:\n      var value = new common_pb.Metric;\n      reader.readMessage(value,common_pb.Metric.deserializeBinaryFromReader);\n      msg.addMetrics(value);\n      break;\n    default:\n      reader.skipField();\n      break;\n    }\n  }\n  return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.integration_api.GetModerationResponse.prototype.serializeBinary = function() {\n  var writer = new jspb.BinaryWriter();\n  proto.integration_api.GetModerationResponse.serializeBinaryToWriter(this, writer);\n  return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.integration_api.GetModerationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.integration_api.GetModerationResponse.serializeBinaryToWriter = function(message, writer) {\n  var f = undefined;\n  f = message.getCode();\n  if (f !== 0) {\n    writer.writeInt32(\n      1,\n      f\n    );\n  }\n  f = message.getSuccess();\n  if (f) {\n    writer.writeBool(\n      2,\n      f\n    );\n  }\n  f = message.getRequestid();\n  if (f !== 0) {\n    writer.writeUint64(\n      3,\n      f\n    );\n  }\n  f = message.getDataList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      4,\n      f,\n      proto.integration_api.Moderation.serializeBinaryToWriter\n    );\n  }\n  f = message.getError();\n  if (f != null) {\n    writer.writeMessage(\n      5,\n      f,\n      common_pb.Error.serializeBinaryToWriter\n    );\n  }\n  f = message.getMetricsList();\n  if (f.length > 0) {\n    writer.writeRepeatedMessage(\n      6,\n      f,\n      common_pb.Metric.serializeBinaryToWriter\n    );\n  }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.integration_api.GetModerationResponse.prototype.getCode = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setCode = function(value) {\n  return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional bool success = 2;\n * @return {boolean}\n */\nproto.integration_api.GetModerationResponse.prototype.getSuccess = function() {\n  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setSuccess = function(value) {\n  return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional uint64 requestId = 3;\n * @return {number}\n */\nproto.integration_api.GetModerationResponse.prototype.getRequestid = function() {\n  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.setRequestid = function(value) {\n  return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * repeated Moderation data = 4;\n * @return {!Array<!proto.integration_api.Moderation>}\n */\nproto.integration_api.GetModerationResponse.prototype.getDataList = function() {\n  return /** @type{!Array<!proto.integration_api.Moderation>} */ (\n    jspb.Message.getRepeatedWrapperField(this, proto.integration_api.Moderation, 4));\n};\n\n\n/**\n * @param {!Array<!proto.integration_api.Moderation>} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setDataList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.integration_api.Moderation=} opt_value\n * @param {number=} opt_index\n * @return {!proto.integration_api.Moderation}\n */\nproto.integration_api.GetModerationResponse.prototype.addData = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.integration_api.Moderation, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearDataList = function() {\n  return this.setDataList([]);\n};\n\n\n/**\n * optional Error error = 5;\n * @return {?proto.Error}\n */\nproto.integration_api.GetModerationResponse.prototype.getError = function() {\n  return /** @type{?proto.Error} */ (\n    jspb.Message.getWrapperField(this, common_pb.Error, 5));\n};\n\n\n/**\n * @param {?proto.Error|undefined} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setError = function(value) {\n  return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearError = function() {\n  return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.integration_api.GetModerationResponse.prototype.hasError = function() {\n  return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated Metric metrics = 6;\n * @return {!Array<!proto.Metric>}\n */\nproto.integration_api.GetModerationResponse.prototype.getMetricsList = function() {\n  return /** @type{!Array<!proto.Metric>} */ (\n    jspb.Message.getRepeatedWrapperField(this, common_pb.Metric, 6));\n};\n\n\n/**\n * @param {!Array<!proto.Metric>} value\n * @return {!proto.integration_api.GetModerationResponse} returns this\n*/\nproto.integration_api.GetModerationResponse.prototype.setMetricsList = function(value) {\n  return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.Metric=} opt_value\n * @param {number=} opt_index\n * @return {!proto.Metric}\n */\nproto.integration_api.GetModerationResponse.prototype.addMetrics = function(opt_value, opt_index) {\n  return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.Metric, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.integration_api.GetModerationResponse} returns this\n */\nproto.integration_api.GetModerationResponse.prototype.clearMetricsList = function() {\n  return this.setMetricsList([]);\n};\n\n\ngoog.object.extend(exports, proto.integration_api);\n","// package: integration_api\n// file: integration-api.proto\n\nvar integration_api_pb = require(\"./integration-api_pb\");\nvar grpc = require(\"@improbable-eng/grpc-web\").grpc;\n\nvar BedrockService = (function () {\n  function BedrockService() {}\n  BedrockService.serviceName = \"integration_api.BedrockService\";\n  return BedrockService;\n}());\n\nBedrockService.Embedding = {\n  methodName: \"Embedding\",\n  service: BedrockService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nBedrockService.Chat = {\n  methodName: \"Chat\",\n  service: BedrockService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nBedrockService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: BedrockService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.BedrockService = BedrockService;\n\nfunction BedrockServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nBedrockServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BedrockService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nBedrockServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BedrockService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nBedrockServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(BedrockService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.BedrockServiceClient = BedrockServiceClient;\n\nvar OpenAiService = (function () {\n  function OpenAiService() {}\n  OpenAiService.serviceName = \"integration_api.OpenAiService\";\n  return OpenAiService;\n}());\n\nOpenAiService.Embedding = {\n  methodName: \"Embedding\",\n  service: OpenAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nOpenAiService.Chat = {\n  methodName: \"Chat\",\n  service: OpenAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nOpenAiService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: OpenAiService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nOpenAiService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: OpenAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nOpenAiService.GetModeration = {\n  methodName: \"GetModeration\",\n  service: OpenAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.GetModerationRequest,\n  responseType: integration_api_pb.GetModerationResponse\n};\n\nexports.OpenAiService = OpenAiService;\n\nfunction OpenAiServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nOpenAiServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OpenAiService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOpenAiServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OpenAiService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOpenAiServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(OpenAiService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nOpenAiServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OpenAiService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nOpenAiServiceClient.prototype.getModeration = function getModeration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(OpenAiService.GetModeration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.OpenAiServiceClient = OpenAiServiceClient;\n\nvar AzureService = (function () {\n  function AzureService() {}\n  AzureService.serviceName = \"integration_api.AzureService\";\n  return AzureService;\n}());\n\nAzureService.Embedding = {\n  methodName: \"Embedding\",\n  service: AzureService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nAzureService.Chat = {\n  methodName: \"Chat\",\n  service: AzureService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nAzureService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: AzureService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nAzureService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: AzureService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nAzureService.GetModeration = {\n  methodName: \"GetModeration\",\n  service: AzureService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.GetModerationRequest,\n  responseType: integration_api_pb.GetModerationResponse\n};\n\nexports.AzureService = AzureService;\n\nfunction AzureServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAzureServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AzureService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAzureServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AzureService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAzureServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(AzureService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nAzureServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AzureService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAzureServiceClient.prototype.getModeration = function getModeration(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AzureService.GetModeration, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AzureServiceClient = AzureServiceClient;\n\nvar GoogleService = (function () {\n  function GoogleService() {}\n  GoogleService.serviceName = \"integration_api.GoogleService\";\n  return GoogleService;\n}());\n\nGoogleService.Embedding = {\n  methodName: \"Embedding\",\n  service: GoogleService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nGoogleService.Chat = {\n  methodName: \"Chat\",\n  service: GoogleService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nGoogleService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: GoogleService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nGoogleService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: GoogleService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.GoogleService = GoogleService;\n\nfunction GoogleServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nGoogleServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(GoogleService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nGoogleServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(GoogleService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nGoogleServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(GoogleService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nGoogleServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(GoogleService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.GoogleServiceClient = GoogleServiceClient;\n\nvar ReplicateService = (function () {\n  function ReplicateService() {}\n  ReplicateService.serviceName = \"integration_api.ReplicateService\";\n  return ReplicateService;\n}());\n\nReplicateService.Chat = {\n  methodName: \"Chat\",\n  service: ReplicateService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nReplicateService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: ReplicateService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nReplicateService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: ReplicateService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.ReplicateService = ReplicateService;\n\nfunction ReplicateServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nReplicateServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ReplicateService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nReplicateServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(ReplicateService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nReplicateServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(ReplicateService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.ReplicateServiceClient = ReplicateServiceClient;\n\nvar AnthropicService = (function () {\n  function AnthropicService() {}\n  AnthropicService.serviceName = \"integration_api.AnthropicService\";\n  return AnthropicService;\n}());\n\nAnthropicService.Chat = {\n  methodName: \"Chat\",\n  service: AnthropicService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nAnthropicService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: AnthropicService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nAnthropicService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: AnthropicService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.AnthropicService = AnthropicService;\n\nfunction AnthropicServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nAnthropicServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AnthropicService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nAnthropicServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(AnthropicService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nAnthropicServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(AnthropicService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.AnthropicServiceClient = AnthropicServiceClient;\n\nvar CohereService = (function () {\n  function CohereService() {}\n  CohereService.serviceName = \"integration_api.CohereService\";\n  return CohereService;\n}());\n\nCohereService.Embedding = {\n  methodName: \"Embedding\",\n  service: CohereService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nCohereService.Reranking = {\n  methodName: \"Reranking\",\n  service: CohereService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.RerankingRequest,\n  responseType: integration_api_pb.RerankingResponse\n};\n\nCohereService.Chat = {\n  methodName: \"Chat\",\n  service: CohereService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nCohereService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: CohereService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nCohereService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: CohereService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.CohereService = CohereService;\n\nfunction CohereServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nCohereServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(CohereService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nCohereServiceClient.prototype.reranking = function reranking(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(CohereService.Reranking, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nCohereServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(CohereService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nCohereServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(CohereService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nCohereServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(CohereService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.CohereServiceClient = CohereServiceClient;\n\nvar HuggingfaceService = (function () {\n  function HuggingfaceService() {}\n  HuggingfaceService.serviceName = \"integration_api.HuggingfaceService\";\n  return HuggingfaceService;\n}());\n\nHuggingfaceService.Chat = {\n  methodName: \"Chat\",\n  service: HuggingfaceService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nHuggingfaceService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: HuggingfaceService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.HuggingfaceService = HuggingfaceService;\n\nfunction HuggingfaceServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nHuggingfaceServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(HuggingfaceService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nHuggingfaceServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(HuggingfaceService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.HuggingfaceServiceClient = HuggingfaceServiceClient;\n\nvar MistralService = (function () {\n  function MistralService() {}\n  MistralService.serviceName = \"integration_api.MistralService\";\n  return MistralService;\n}());\n\nMistralService.Chat = {\n  methodName: \"Chat\",\n  service: MistralService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nMistralService.StreamChat = {\n  methodName: \"StreamChat\",\n  service: MistralService,\n  requestStream: false,\n  responseStream: true,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nMistralService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: MistralService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.MistralService = MistralService;\n\nfunction MistralServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nMistralServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(MistralService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nMistralServiceClient.prototype.streamChat = function streamChat(requestMessage, metadata) {\n  var listeners = {\n    data: [],\n    end: [],\n    status: []\n  };\n  var client = grpc.invoke(MistralService.StreamChat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onMessage: function (responseMessage) {\n      listeners.data.forEach(function (handler) {\n        handler(responseMessage);\n      });\n    },\n    onEnd: function (status, statusMessage, trailers) {\n      listeners.status.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners.end.forEach(function (handler) {\n        handler({ code: status, details: statusMessage, metadata: trailers });\n      });\n      listeners = null;\n    }\n  });\n  return {\n    on: function (type, handler) {\n      listeners[type].push(handler);\n      return this;\n    },\n    cancel: function () {\n      listeners = null;\n      client.close();\n    }\n  };\n};\n\nMistralServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(MistralService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.MistralServiceClient = MistralServiceClient;\n\nvar StabilityAiService = (function () {\n  function StabilityAiService() {}\n  StabilityAiService.serviceName = \"integration_api.StabilityAiService\";\n  return StabilityAiService;\n}());\n\nStabilityAiService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: StabilityAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.StabilityAiService = StabilityAiService;\n\nfunction StabilityAiServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nStabilityAiServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(StabilityAiService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.StabilityAiServiceClient = StabilityAiServiceClient;\n\nvar TogetherAiService = (function () {\n  function TogetherAiService() {}\n  TogetherAiService.serviceName = \"integration_api.TogetherAiService\";\n  return TogetherAiService;\n}());\n\nTogetherAiService.Chat = {\n  methodName: \"Chat\",\n  service: TogetherAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.ChatRequest,\n  responseType: integration_api_pb.ChatResponse\n};\n\nTogetherAiService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: TogetherAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.TogetherAiService = TogetherAiService;\n\nfunction TogetherAiServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nTogetherAiServiceClient.prototype.chat = function chat(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TogetherAiService.Chat, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nTogetherAiServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(TogetherAiService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.TogetherAiServiceClient = TogetherAiServiceClient;\n\nvar DeepInfraService = (function () {\n  function DeepInfraService() {}\n  DeepInfraService.serviceName = \"integration_api.DeepInfraService\";\n  return DeepInfraService;\n}());\n\nDeepInfraService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: DeepInfraService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.DeepInfraService = DeepInfraService;\n\nfunction DeepInfraServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nDeepInfraServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(DeepInfraService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.DeepInfraServiceClient = DeepInfraServiceClient;\n\nvar VoyageAiService = (function () {\n  function VoyageAiService() {}\n  VoyageAiService.serviceName = \"integration_api.VoyageAiService\";\n  return VoyageAiService;\n}());\n\nVoyageAiService.Embedding = {\n  methodName: \"Embedding\",\n  service: VoyageAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.EmbeddingRequest,\n  responseType: integration_api_pb.EmbeddingResponse\n};\n\nVoyageAiService.Reranking = {\n  methodName: \"Reranking\",\n  service: VoyageAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.RerankingRequest,\n  responseType: integration_api_pb.RerankingResponse\n};\n\nVoyageAiService.VerifyCredential = {\n  methodName: \"VerifyCredential\",\n  service: VoyageAiService,\n  requestStream: false,\n  responseStream: false,\n  requestType: integration_api_pb.VerifyCredentialRequest,\n  responseType: integration_api_pb.VerifyCredentialResponse\n};\n\nexports.VoyageAiService = VoyageAiService;\n\nfunction VoyageAiServiceClient(serviceHost, options) {\n  this.serviceHost = serviceHost;\n  this.options = options || {};\n}\n\nVoyageAiServiceClient.prototype.embedding = function embedding(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VoyageAiService.Embedding, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVoyageAiServiceClient.prototype.reranking = function reranking(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VoyageAiService.Reranking, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nVoyageAiServiceClient.prototype.verifyCredential = function verifyCredential(requestMessage, metadata, callback) {\n  if (arguments.length === 2) {\n    callback = arguments[1];\n  }\n  var client = grpc.unary(VoyageAiService.VerifyCredential, {\n    request: requestMessage,\n    host: this.serviceHost,\n    metadata: metadata,\n    transport: this.options.transport,\n    debug: this.options.debug,\n    onEnd: function (response) {\n      if (callback) {\n        if (response.status !== grpc.Code.OK) {\n          var err = new Error(response.statusMessage);\n          err.code = response.status;\n          err.metadata = response.trailers;\n          callback(err, null);\n        } else {\n          callback(null, response.message);\n        }\n      }\n    }\n  });\n  return {\n    cancel: function () {\n      callback = null;\n      client.close();\n    }\n  };\n};\n\nexports.VoyageAiServiceClient = VoyageAiServiceClient;\n\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport { Feedback } from \"@/rapida/agents/feedback\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useMessageFeedback() {\n  // Get the voice agent instance\n  const agent = useEnsureVoiceAgent();\n\n  // Set up the connect agent and memoize the result\n  const { handleMessageFeedback, handleHelpfulnessFeedback } = React.useMemo(\n    () => setupMessageFeedback(agent),\n    []\n  );\n\n  // Return the connection handler and the current connection status\n  return { handleMessageFeedback, handleHelpfulnessFeedback };\n}\n\n/**\n * Sets up the connection for a voice agent.\n *\n * @returns An object containing the agent connection state observable and a function to handle agent connection.\n */\nfunction setupMessageFeedback(agent: VoiceAgent) {\n  /**\n   * Handles the connection of a voice agent.\n   *\n   * @param agent - The VoiceAgent to be connected.\n   * @returns A promise that resolves when the agent is connected.\n   */\n  const handleMessageFeedback = async (\n    messageId: string,\n    name: string,\n    description: string,\n    value: string\n  ) => {\n    await agent.createMessageMetric(messageId, [\n      {\n        name: name,\n        description: description,\n        value: value,\n      },\n    ]);\n  };\n\n  const handleHelpfulnessFeedback = async (\n    messageId: string,\n    value: Feedback\n  ) => {\n    await agent.createMessageMetric(messageId, [\n      {\n        name: \"feedback\",\n        description: \"feedback given by end-user\",\n        value: value,\n      },\n    ]);\n  };\n\n  return {\n    handleHelpfulnessFeedback,\n    handleMessageFeedback,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport { Feedback } from \"@/rapida/agents/feedback\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useConversationFeedback() {\n  // Get the voice agent instance\n  const agent = useEnsureVoiceAgent();\n\n  // Set up the connect agent and memoize the result\n  const { handleHelpfulnessFeedback, handleConversationFeedback } =\n    React.useMemo(() => setupConversationFeedback(agent), []);\n\n  // Return the connection handler and the current connection status\n  return { handleHelpfulnessFeedback, handleConversationFeedback };\n}\n\n/**\n * Sets up the connection for a voice agent.\n *\n * @returns An object containing the agent connection state observable and a function to handle agent connection.\n */\nfunction setupConversationFeedback(agent: VoiceAgent) {\n  /**\n   * Handles the connection of a voice agent.\n   *\n   * @param agent - The VoiceAgent to be connected.\n   * @returns A promise that resolves when the agent is connected.\n   */\n  const handleConversationFeedback = async (\n    name: string,\n    description: string,\n    value: string\n  ) => {\n    await agent.createConversationMetric([\n      {\n        name: name,\n        description: description,\n        value: value,\n      },\n    ]);\n  };\n\n  const handleHelpfulnessFeedback = async (value: Feedback) => {\n    await agent.createConversationMetric([\n      {\n        name: \"feedback\",\n        description: \"feedback given by end-user\",\n        value: value,\n      },\n    ]);\n  };\n\n  return {\n    handleHelpfulnessFeedback,\n    handleConversationFeedback,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport * as React from \"react\";\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport { agentConnectionStateObservable } from \"@/rapida/hooks/observables/voice-agent\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useConnectAgent() {\n  // Get the voice agent instance\n  const agent = useEnsureVoiceAgent();\n\n  // Set up the connect agent and memoize the result\n  const {\n    _agentConnectionStateObservable,\n    handleConnectAgent,\n    handleDisconnectAgent,\n  } = React.useMemo(() => setupConnectAgent(), []);\n\n  // Create a memoized observable for the agent's connection state\n  const observable = React.useMemo(\n    () => _agentConnectionStateObservable(agent),\n    [agent, _agentConnectionStateObservable]\n  );\n\n  // Use the observable to track the agent's connection state\n  const { isConnected } = useObservableState(observable, {\n    isConnected: agent.isConnected,\n  });\n\n  // Return the connection handler and the current connection status\n  return { handleConnectAgent, handleDisconnectAgent, isConnected };\n}\n\n/**\n * Sets up the connection for a voice agent.\n *\n * @returns An object containing the agent connection state observable and a function to handle agent connection.\n */\nfunction setupConnectAgent() {\n  /**\n   * Handles the connection of a voice agent.\n   *\n   * @param agent - The VoiceAgent to be connected.\n   * @returns A promise that resolves when the agent is connected.\n   */\n  const handleConnectAgent = async (agent: VoiceAgent) => {\n    await agent.connect();\n  };\n\n  const handleDisconnectAgent = async (agent: VoiceAgent) => {\n    await agent.disconnect();\n  };\n\n  return {\n    _agentConnectionStateObservable: agentConnectionStateObservable,\n    handleConnectAgent,\n    handleDisconnectAgent,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport * as React from \"react\";\nimport { agentInputObservable } from \"@/rapida/hooks/observables/voice-agent\";\nimport { Channel } from \"@/rapida/channels\";\n\nexport function useInputModeToggleAgent() {\n  // ensure that voice agent is initializesd\n  const agent = useEnsureVoiceAgent();\n\n  /**\n   *\n   */\n  // observe\n  const { _agentInputObservable, handleTextToggle, handleVoiceToggle } =\n    React.useMemo(() => toggleInputMode(), []);\n\n  /**\n   *\n   */\n  const observable = React.useMemo(\n    () => _agentInputObservable(agent),\n    [agent, _agentInputObservable]\n  );\n\n  /**\n   *\n   */\n  const { channel } = useObservableState(observable, {\n    channel: agent.inputChannel,\n  });\n\n  return { handleTextToggle, handleVoiceToggle, channel };\n}\n\n/**\n * Toggle input voice agent\n * @returns\n */\nfunction toggleInputMode() {\n  const handleTextToggle = async (agent: VoiceAgent) => {\n    if (agent.inputChannel == Channel.Text) {\n      return;\n    }\n    await agent.setInputChannel(Channel.Text);\n    return;\n  };\n\n  const handleVoiceToggle = async (agent: VoiceAgent) => {\n    // toggelling the input from audio to text\n    if (agent.inputChannel == Channel.Audio) {\n      console.warn(\"already in voice mode, ignore in toggle\");\n      return;\n    }\n    await agent.setInputChannel(Channel.Audio);\n    return;\n  };\n\n  return {\n    _agentInputObservable: agentInputObservable,\n    handleVoiceToggle,\n    handleTextToggle,\n  };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { agentInitializeObservable } from \"@/rapida/hooks/observables/voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport React from \"react\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useAgentDeployment() {\n  // Get the voice agent instance\n  const agent = useEnsureVoiceAgent();\n  const observable = React.useMemo(\n    () => agentInitializeObservable(agent),\n    [agent]\n  );\n\n  const { deployment, assistant } = useObservableState(observable, {\n    deployment: agent.getDeployment(),\n    assistant: agent.assistant,\n  });\n  return { deployment, assistant };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport enum MediaDeviceFailure {\n  // user rejected permissions\n  PermissionDenied = \"PermissionDenied\",\n\n  // device is not available\n  NotFound = \"NotFound\",\n\n  // device is in use. On Windows, only a single tab may get access to a device at a time.\n  DeviceInUse = \"DeviceInUse\",\n\n  //\n  Other = \"Other\",\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport {\n  AssistantConversationAssistantMessage,\n  AssistantConversationConfiguration,\n  AssistantConversationInterruption,\n  AssistantConversationUserMessage,\n  AssistantDefinition,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport * as google_protobuf_any_pb from \"google-protobuf/google/protobuf/any_pb\";\nimport { StringArrayToAny, StringToAny } from \"@/rapida/utils/rapida_value\";\nimport { AssistantMessagingResponse } from \"../clients/protos/talk-api_pb\";\nimport { AssistantConversationMessage } from \"@/rapida/clients/protos/common_pb\";\nimport { Channel } from \"@/rapida/channels\";\nimport { toContentText } from \"@/rapida/utils/rapida_content\";\n\nexport interface ConversationUserMessage\n  extends AssistantConversationUserMessage.AsObject {\n  messageText?: string;\n}\n\nexport class ConversationUserMessage {\n  constructor(config?: AssistantConversationUserMessage) {\n    if (config) {\n      Object.assign(this, config.toObject());\n      this.messageText = toContentText(config.getMessage()?.getContentsList());\n    }\n  }\n}\n\nexport interface ConversationAssistantMessage\n  extends AssistantConversationAssistantMessage.AsObject {\n  messageText?: string;\n}\n\nexport class ConversationAssistantMessage {\n  constructor(config?: AssistantConversationAssistantMessage) {\n    if (config) {\n      Object.assign(this, config.toObject());\n      this.messageText = toContentText(config.getMessage()?.getContentsList());\n    }\n  }\n}\n\nexport interface ConversationMessage\n  extends AssistantConversationMessage.AsObject {\n  userMessage?: string;\n  systemMessage?: string;\n}\n\nexport class ConversationMessage {\n  constructor(config?: AssistantConversationMessage) {\n    if (config) {\n      Object.assign(this, config.toObject());\n      this.userMessage = toContentText(config.getRequest()?.getContentsList());\n      this.systemMessage = toContentText(\n        config.getResponse()?.getContentsList()\n      );\n    }\n  }\n}\n\n/**\n * Callbacks for agent\n */\ninterface AgentCallback {\n  onStart?: (\n    args: AssistantConversationConfiguration.AsObject | undefined\n  ) => void;\n\n  // transcripting or user speaking\n  onTranscript?: (args: ConversationUserMessage | undefined) => void;\n\n  // interrupted //\n  // there might be two kind of interruption\n  // vad // word\n  onInterrupt?: (\n    args: AssistantConversationInterruption.AsObject | undefined\n  ) => void;\n\n  // generation\n  onGeneration?: (args: ConversationAssistantMessage | undefined) => void;\n\n  //\n  // on complete message\n  onMessage?: (arg: ConversationMessage | undefined) => void;\n}\n\n/**\n *\n */\nexport interface PlayerOptions {\n  format: \"pcm\" | \"ulaw\";\n  sampleRate: number;\n  device?: string;\n}\n\n/**\n *\n */\nexport interface RecorderOptions {\n  format: \"pcm\" | \"ulaw\";\n  sampleRate: number;\n  device?: string;\n}\n\n/**\n *\n */\nexport class InputOptions {\n  /**\n   * enable channels\n   */\n\n  channels: Channel[] = [Channel.Audio, Channel.Text];\n\n  /**\n   * sample rate for player\n   */\n  protected recorderOptions: RecorderOptions = {\n    format: \"pcm\",\n    sampleRate: 24000,\n  };\n  get recorderOption(): RecorderOptions {\n    return this.recorderOptions;\n  }\n\n  /**\n   * channel for providing output\n   */\n  protected channel: Channel = Channel.Audio;\n  get defaultChannel(): Channel {\n    return this.channel;\n  }\n\n  /**\n   *\n   * @param channels\n   * @param channel\n   * @param deviceId\n   */\n  constructor(channels: Channel[], channel?: Channel, deviceId?: string) {\n    this.channels = channels;\n    if (channel) this.channel = channel;\n    if (deviceId) this.recorderOptions.device = deviceId;\n  }\n\n  /**\n   *\n   * @param device\n   */\n  changeDevice(device: string) {\n    this.recorderOption.device = device;\n  }\n}\n\nexport class OutputOptions {\n  /**\n   * enable channels\n   */\n\n  channels: Channel[] = [Channel.Audio, Channel.Text];\n\n  /**\n   * sample rate for player\n   */\n  protected playerOptions: PlayerOptions = {\n    format: \"pcm\",\n    sampleRate: 24000,\n  };\n  get playerOption(): PlayerOptions {\n    return this.playerOptions;\n  }\n\n  /**\n   * channel for providing output\n   */\n  protected channel: Channel = Channel.Audio;\n  get defaultChannel(): Channel {\n    return this.channel;\n  }\n\n  /**\n   *\n   * @param channels\n   * @param channel\n   * @param deviceId\n   */\n  constructor(channels: Channel[], channel?: Channel, deviceId?: string) {\n    this.channels = channels;\n    if (channel) this.channel = channel;\n    if (deviceId) this.playerOption.device = deviceId;\n  }\n\n  /**\n   *\n   * @param channel\n   */\n  changeChannel(channel: Channel) {\n    this.channel = channel;\n  }\n\n  /**\n   *\n   * @param device\n   */\n  changeDevice(device: string) {\n    this.playerOption.device = device;\n  }\n}\n/**\n * Represents the configuration settings for an agent.\n * This includes the agent's unique identifier, version, and configurable arguments.\n */\nexport class AgentConfig {\n  /**\n   * Unique identifier for the agent.\n   */\n  id: string;\n\n  /**\n   * (Optional) Version number of the agent.\n   */\n  version?: string;\n\n  /**\n   * arguments for assistant\n   */\n  arguments?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   * options for assistants\n   */\n  options?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   * metadata for assistant request\n   */\n  metadata?: Map<string, google_protobuf_any_pb.Any>;\n\n  /**\n   * all the agent callback\n   */\n  callbacks?: AgentCallback;\n\n  /**\n   *\n   */\n  inputOptions: InputOptions;\n\n  /**\n   *\n   */\n  outputOptions: OutputOptions;\n\n  /**\n   * Initializes a new instance of `AgentConfig`.\n   *\n   * @param id - Unique identifier for the agent.\n   * @param version - (Optional) Version number of the agent.\n   * @param argument - (Optional) Configuration arguments for the agent.\n   */\n  constructor(\n    id: string,\n    inputOptions: InputOptions = new InputOptions([\n      Channel.Audio,\n      Channel.Text,\n    ]),\n    outputOptions: OutputOptions = new OutputOptions([\n      Channel.Audio,\n      Channel.Text,\n    ]),\n    version?: string,\n    argument?: Map<string, google_protobuf_any_pb.Any>,\n    options?: Map<string, google_protobuf_any_pb.Any>,\n    metadata?: Map<string, google_protobuf_any_pb.Any>\n  ) {\n    this.id = id;\n    this.version = version;\n    this.arguments = argument;\n    this.options = options;\n    this.metadata = metadata;\n    this.inputOptions = inputOptions;\n    this.outputOptions = outputOptions;\n  }\n\n  /**\n   * Retrieves the assistant definition for this agent.\n   *\n   * @returns {AssistantDefinition} A configured `AssistantDefinition` instance with the agent's details.\n   */\n  get definition(): AssistantDefinition {\n    const def = new AssistantDefinition();\n    def.setAssistantid(this.id); // Sets the agent's unique ID.\n\n    if (this.version) {\n      def.setVersion(this.version); // Sets the agent's version if provided.\n    }\n\n    return def;\n  }\n\n  /**\n   * for adding custom dictionary\n   * it allows user to add custom keywords to given agent it will perform correction\n   * @param keywords\n   */\n  addKeywords(keywords: string[]): this {\n    if (this.options == undefined) this.options = new Map();\n    this.options[\"keywords\"] = StringArrayToAny(keywords);\n    return this;\n  }\n\n  /**\n   * Want to add other options to override\n   * @param k\n   * @param otp\n   * @returns\n   */\n  addCustomOption(k: string, otp: google_protobuf_any_pb.Any): this {\n    if (this.options == undefined) this.options = new Map();\n    this.options.set(k, otp);\n    return this;\n  }\n\n  /**\n   *\n   * @param k\n   * @param meta\n   * @returns\n   */\n  addMetadata(k: string, meta: google_protobuf_any_pb.Any): this {\n    if (this.metadata == undefined) this.metadata = new Map();\n    this.metadata.set(k, meta);\n    return this;\n  }\n\n  /**\n   *\n   * @param k\n   * @param value\n   * @returns\n   */\n  addArgument(k: string, value: string): this {\n    if (this.arguments == undefined) this.arguments = new Map();\n    this.arguments?.set(k, StringToAny(value));\n    return this;\n  }\n\n  /**\n   * Sets up callback functions for various events in the agent's conversation lifecycle.\n   *\n   * @param onStart - Callback function triggered when a conversation starts.\n   * @param onTranscript - Callback function triggered when transcripting or user is speaking.\n   * @param onInterrupt - Callback function triggered when the conversation is interrupted (VAD or word-based).\n   * @param onGeneration - Callback function triggered during the generation of the assistant's response.\n   * @param onMessage - Callback function triggered when a complete message (from user or assistant) is received.\n   * @returns The current instance of the AgentConfig, allowing for method chaining.\n   */\n  withAgentCallback(cl: AgentCallback): this {\n    this.callbacks = cl;\n    return this;\n  }\n\n  /**\n   *\n   * @param response\n   * @returns\n   */\n\n  // Adding a check to filter out audio chunks\n  // Implementing a debounce mechanism\n  // These suggestions can guide the team in finding an appropriate solution to optimize the onMessage callback handling.\n  onCallback(response: AssistantMessagingResponse): void {\n    // check if callback is register then call it off\n    switch (response.getDataCase()) {\n      case AssistantMessagingResponse.DataCase.DATA_NOT_SET:\n        break;\n      case AssistantMessagingResponse.DataCase.INTERRUPTION:\n        if (this.callbacks && this.callbacks?.onInterrupt) {\n          this.callbacks.onInterrupt(response.getInterruption()?.toObject());\n        }\n        break;\n      case AssistantMessagingResponse.DataCase.USER:\n        if (this.callbacks && this.callbacks?.onTranscript) {\n          this.callbacks.onTranscript(\n            new ConversationUserMessage(response.getUser())\n          );\n        }\n        break;\n      case AssistantMessagingResponse.DataCase.ASSISTANT:\n        if (this.callbacks && this.callbacks?.onGeneration) {\n          this.callbacks.onGeneration(\n            new ConversationAssistantMessage(response.getAssistant())\n          );\n        }\n        break;\n      case AssistantMessagingResponse.DataCase.CONFIGURATION:\n        if (this.callbacks && this.callbacks?.onStart) {\n          this.callbacks.onStart(response.getConfiguration()?.toObject());\n        }\n        break;\n      case AssistantMessagingResponse.DataCase.MESSAGE:\n        if (this.callbacks && this.callbacks?.onMessage) {\n          this.callbacks.onMessage(\n            new ConversationMessage(response.getMessage())\n          );\n        }\n        break;\n      default:\n        break;\n    }\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { Map } from \"google-protobuf\";\nimport { Any } from \"google-protobuf/google/protobuf/any_pb\";\nimport * as google_protobuf_any_pb from \"google-protobuf/google/protobuf/any_pb\";\nimport {\n  StringValue,\n  Int32Value,\n  DoubleValue,\n  BoolValue,\n  BytesValue,\n} from \"google-protobuf/google/protobuf/wrappers_pb\";\n\n// Helper function to pack data into `Any`\nfunction pack(serialized: Uint8Array, typeUrlPrefix: string): Any {\n  const anyValue = new Any();\n  anyValue.pack(serialized, typeUrlPrefix);\n  return anyValue;\n}\n\n//  string array to `Any`\nexport function StringArrayToAny(values: string[]): Any {\n  return values.map((x) => {\n    return StringToAny(x);\n  });\n}\n\n//  string to `Any`\nexport function StringToAny(value: string): Any {\n  const stringValue = new StringValue();\n  stringValue.setValue(value);\n  const serialized = stringValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.StringValue\");\n}\n\n//  `Any` to string\nexport function AnyToString(anyValue: Any): string {\n  const stringValue = StringValue.deserializeBinary(anyValue.getValue_asU8());\n  return stringValue.getValue();\n}\n\n//  float to `Any`\nexport function FloatToAny(value: number): Any {\n  const doubleValue = new DoubleValue();\n  doubleValue.setValue(value);\n  const serialized = doubleValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.DoubleValue\");\n}\n\n//  `Any` to float\nexport function AnyToFloat(anyValue: Any): number {\n  const doubleValue = DoubleValue.deserializeBinary(anyValue.getValue_asU8());\n  return doubleValue.getValue();\n}\n\n//  integer to `Any`\nexport function Int32ToAny(value: number): Any {\n  const int32Value = new Int32Value();\n  int32Value.setValue(value);\n  const serialized = int32Value.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.Int32Value\");\n}\n\n//  `Any` to integer\nexport function AnyToInt32(anyValue: Any): number {\n  const int32Value = Int32Value.deserializeBinary(anyValue.getValue_asU8());\n  return int32Value.getValue();\n}\n\n//  boolean to `Any`\nexport function BoolToAny(value: boolean): Any {\n  const boolValue = new BoolValue();\n  boolValue.setValue(value);\n  const serialized = boolValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.BoolValue\");\n}\n\n//  `Any` to boolean\nexport function AnyToBool(anyValue: Any): boolean {\n  const boolValue = BoolValue.deserializeBinary(anyValue.getValue_asU8());\n  return boolValue.getValue();\n}\n\n//  bytes to `Any`\nexport function BytesToAny(value: Uint8Array): Any {\n  const bytesValue = new BytesValue();\n  bytesValue.setValue(value);\n  const serialized = bytesValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.BytesValue\");\n}\n\n//  JSON object to `Any`\nexport function JSONToAny(value: object): Any {\n  const jsonString = JSON.stringify(value);\n  const stringValue = new StringValue();\n  stringValue.setValue(jsonString);\n  const serialized = stringValue.serializeBinary();\n  return pack(serialized, \"type.googleapis.com/google.protobuf.StringValue\");\n}\n\n//  `Any` to JSON object\nexport function AnyToJSON(anyValue: Any): object {\n  const stringValue = StringValue.deserializeBinary(anyValue.getValue_asU8());\n  return JSON.parse(stringValue.getValue());\n}\n\nexport function MapToObject(\n  protoMap: Map<string, google_protobuf_any_pb.Any>\n): Record<string, any> {\n  const result: Record<string, any> = {};\n  protoMap.forEach((value, key) => {\n    try {\n      if (value instanceof Any) {\n        // Get the underlying message as a plain object\n        result[key] = new TextDecoder().decode(value.getValue_asU8());\n      } else {\n        result[key] = value;\n      }\n    } catch (x) {}\n  });\n\n  return result;\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { useState, useEffect, useRef } from \"react\";\nimport { useMaybeVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\n\n/**\n * The function `useMultibandSpeakerTrackVolume` calculates and updates frequency bands based on audio\n * player data at regular intervals.\n * @param {number} [bands=5] - The `bands` parameter in the `useMultibandSpeakerTrackVolume` function\n * determines the number of frequency bands that the audio signal will be divided into for processing.\n * This parameter allows you to specify how many bands you want to split the frequency spectrum into.\n * @param {number} [loPass=0.1] - The `loPass` parameter in the `useMultibandSpeakerTrackVolume`\n * function represents the lower passband frequency limit. It is used to filter out frequencies below a\n * certain threshold in the audio signal. In the provided code snippet, the `loPass` parameter is set\n * to a default value of\n * @param {number} [hiPass=1.0] - The `hiPass` parameter in the `useMultibandSpeakerTrackVolume`\n * function represents the upper limit frequency value for filtering the audio frequencies. It is used\n * to define the range of frequencies that will be included in the analysis and processing of the audio\n * data. In the provided code snippet, the `\n * @returns The `useMultibandSpeakerTrackVolume` custom hook returns an array of `Float32Array`\n * frequency bands that have been calculated based on the audio frequencies received from the audio\n * player. The number of bands, low-pass and high-pass values are used to divide and normalize the\n * frequencies into the specified bands. The hook continuously updates the frequency bands at an\n * interval of 100ms.\n */\n\nexport const useMultibandMicrophoneTrackVolume = (\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n  const agentContext = useMaybeVoiceAgent();\n\n  useEffect(() => {\n    const updateVolume = () => {\n      const frequencies = agentContext?.getInputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) return;\n      // Calculate the frequency range we want to analyze\n      const startIndex = Math.floor(frequencies.length * loPass);\n      const endIndex = Math.floor(frequencies.length * hiPass);\n      const usableFrequencies = Array.from(\n        frequencies.slice(startIndex, endIndex)\n      );\n\n      // Split frequencies into bands\n      const samplesPerBand = Math.floor(usableFrequencies.length / bands);\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        const bandStart = bandIndex * samplesPerBand;\n        const bandEnd =\n          bandIndex === bands - 1\n            ? usableFrequencies.length\n            : (bandIndex + 1) * samplesPerBand;\n\n        // Get frequencies for this band and normalize them\n        const bandFrequencies = usableFrequencies\n          .slice(bandStart, bandEnd)\n          .map((amplitude) => {\n            // Ensure amplitude is treated as a number\n            const numericAmplitude = Number(amplitude);\n            // Normalize amplitude to 0-1 range\n            return Math.min(1, Math.max(0, numericAmplitude * 4));\n          });\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoothing to prevent jarring transitions\n      setFrequencyBands((prevBands) => {\n        if (prevBands.length !== bands) return bandArrays;\n\n        return bandArrays.map((bandFrequencies, bandIndex) => {\n          if (!prevBands[bandIndex]) return bandFrequencies;\n\n          const smoothingFactor = 0.7;\n          return bandFrequencies.map((freq, i) => {\n            const prevValue = prevBands[bandIndex][i] || 0;\n            return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n          });\n        });\n      });\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.floor((i + 1) * stepSize);\n        let sum = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n        }\n\n        result[i] = sum / (end - start);\n      }\n\n      return result;\n    };\n\n    const interval = setInterval(updateVolume, 100);\n    return () => clearInterval(interval);\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return frequencyBands;\n};\n\nexport const useMultibandSpeakerTrackVolume = (\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n  const agentContext = useMaybeVoiceAgent();\n\n  useEffect(() => {\n    const updateVolume = () => {\n      const frequencies = agentContext?.getOutputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) return;\n      // Calculate the frequency range we want to analyze\n      const startIndex = Math.floor(frequencies.length * loPass);\n      const endIndex = Math.floor(frequencies.length * hiPass);\n      const usableFrequencies = Array.from(\n        frequencies.slice(startIndex, endIndex)\n      );\n\n      // Split frequencies into bands\n      const samplesPerBand = Math.floor(usableFrequencies.length / bands);\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        const bandStart = bandIndex * samplesPerBand;\n        const bandEnd =\n          bandIndex === bands - 1\n            ? usableFrequencies.length\n            : (bandIndex + 1) * samplesPerBand;\n\n        // Get frequencies for this band and normalize them\n        const bandFrequencies = usableFrequencies\n          .slice(bandStart, bandEnd)\n          .map((amplitude) => {\n            // Normalize amplitude to 0-1 range\n            const numericAmplitude = Number(amplitude);\n            return Math.min(1, Math.max(0, numericAmplitude));\n          });\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoothing to prevent jarring transitions\n      setFrequencyBands((prevBands) => {\n        if (prevBands.length !== bands) return bandArrays;\n\n        return bandArrays.map((bandFrequencies, bandIndex) => {\n          if (!prevBands[bandIndex]) return bandFrequencies;\n\n          const smoothingFactor = 0.7;\n          return bandFrequencies.map((freq, i) => {\n            const prevValue = prevBands[bandIndex][i] || 0;\n            return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n          });\n        });\n      });\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.floor((i + 1) * stepSize);\n        let sum = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n        }\n\n        result[i] = sum / (end - start);\n      }\n\n      return result;\n    };\n\n    const interval = setInterval(updateVolume, 100);\n    return () => clearInterval(interval);\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return frequencyBands;\n};\n\nexport const useMultiband3DSpeakerTrackVolume = (\n  bands: number = 5,\n  loPass: number = 0.1,\n  hiPass: number = 1.0\n) => {\n  const [frequencyBands, setFrequencyBands] = useState<number[][]>(\n    Array(bands)\n      .fill([])\n      .map(() => Array(32).fill(0))\n  );\n  const [sphericalData, setSphericalData] = useState<{\n    xNorm: number;\n    yNorm: number;\n    zNorm: number;\n    elapsedTimeSec: number;\n  }>({ xNorm: 0, yNorm: 0, zNorm: 0, elapsedTimeSec: 0 });\n  const agentContext = useMaybeVoiceAgent();\n  const startTime = useRef<number>(Date.now());\n\n  useEffect(() => {\n    const updateVolume = () => {\n      const frequencies = agentContext?.getOutputByteFrequencyData();\n      if (!frequencies || frequencies.length === 0) return;\n      // Calculate the frequency range we want to analyze\n      const startIndex = Math.floor(frequencies.length * loPass);\n      const endIndex = Math.floor(frequencies.length * hiPass);\n      const usableFrequencies = Array.from(\n        frequencies.slice(startIndex, endIndex)\n      );\n\n      // Split frequencies into bands\n      const samplesPerBand = Math.floor(usableFrequencies.length / bands);\n      const bandArrays: number[][] = [];\n\n      for (let bandIndex = 0; bandIndex < bands; bandIndex++) {\n        const bandStart = bandIndex * samplesPerBand;\n        const bandEnd =\n          bandIndex === bands - 1\n            ? usableFrequencies.length\n            : (bandIndex + 1) * samplesPerBand;\n\n        // Get frequencies for this band and normalize them\n        const bandFrequencies = usableFrequencies\n          .slice(bandStart, bandEnd)\n          .map((amplitude) => {\n            // Normalize amplitude to 0-1 range\n            const numericAmplitude = Number(amplitude);\n            return Math.min(1, Math.max(0, numericAmplitude));\n          });\n\n        // Ensure we have a consistent number of samples per band\n        const resampledBand = resampleArray(bandFrequencies, 32); // 32 samples per band\n        bandArrays.push(resampledBand);\n      }\n\n      // Apply smoothing to prevent jarring transitions\n      setFrequencyBands((prevBands) => {\n        if (prevBands.length !== bands) return bandArrays;\n\n        const smoothedBands = bandArrays.map((bandFrequencies, bandIndex) => {\n          if (!prevBands[bandIndex]) return bandFrequencies;\n\n          const smoothingFactor = 0.7;\n          return bandFrequencies.map((freq, i) => {\n            const prevValue = prevBands[bandIndex][i] || 0;\n            return freq * smoothingFactor + prevValue * (1 - smoothingFactor);\n          });\n        });\n\n        // Calculate spherical coordinates\n        const xNorm = calculateAverageAmplitude(smoothedBands[0]);\n        const yNorm =\n          bands > 1 ? calculateAverageAmplitude(smoothedBands[1]) : 0;\n        const zNorm =\n          bands > 2 ? calculateAverageAmplitude(smoothedBands[2]) : 0;\n        const elapsedTimeSec = (Date.now() - startTime.current) / 1000;\n\n        setSphericalData({ xNorm, yNorm, zNorm, elapsedTimeSec });\n\n        return smoothedBands;\n      });\n    };\n\n    // Helper function to resample array to desired length\n    const resampleArray = (arr: number[], newLength: number): number[] => {\n      const result = new Array(newLength);\n      const stepSize = arr.length / newLength;\n\n      for (let i = 0; i < newLength; i++) {\n        const start = Math.floor(i * stepSize);\n        const end = Math.floor((i + 1) * stepSize);\n        let sum = 0;\n\n        for (let j = start; j < end; j++) {\n          sum += arr[j] || 0;\n        }\n\n        result[i] = sum / (end - start);\n      }\n\n      return result;\n    };\n\n    const calculateAverageAmplitude = (band: number[]): number => {\n      return band.reduce((sum, amplitude) => sum + amplitude, 0) / band.length;\n    };\n\n    const interval = setInterval(updateVolume, 100);\n    return () => clearInterval(interval);\n  }, [agentContext, loPass, hiPass, bands]);\n\n  return { frequencyBands, ...sphericalData };\n};\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { TalkServiceClient } from \"@/rapida/clients/protos/talk-api_pb_service\";\nimport { grpc } from \"@improbable-eng/grpc-web\";\nimport {\n  ASSISTANT_API,\n  LOCAL_ASSISTANT_API,\n  WEB_API,\n  LOCAL_WEB_API,\n  ENDPOINT_API,\n  LOCAL_ENDPOINT_API,\n} from \"@/rapida/configs\";\nimport { ClientAuthInfo, getClientInfo, UserAuthInfo } from \"@/rapida/clients\";\nimport { ConnectionState } from \"./connection-state\";\nimport { AssistantServiceClient } from \"@/rapida/clients/protos/assistant-api_pb_service\";\nimport { ProjectServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { KnowledgeServiceClient } from \"@/rapida/clients/protos/knowledge-api_pb_service\";\nimport { MarketplaceServiceClient } from \"@/rapida/clients/protos/marketplace-api_pb_service\";\nimport { DocumentServiceClient } from \"@/rapida/clients/protos/document-api_pb_service\";\nimport { VaultServiceClient } from \"@/rapida/clients/protos/vault-api_pb_service\";\nimport { EndpointServiceClient } from \"@/rapida/clients/protos/endpoint-api_pb_service\";\nimport { AuditLoggingServiceClient } from \"@/rapida/clients/protos/audit-logging-api_pb_service\";\nimport { AssistantDeploymentServiceClient } from \"@/rapida/clients/protos/assistant-deployment_pb_service\";\nimport { OrganizationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { ConnectServiceClient } from \"@/rapida/clients/protos/connect-api_pb_service\";\nimport { ProviderServiceClient } from \"@/rapida/clients/protos/provider-api_pb_service\";\nimport { AuthenticationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { DeploymentClient } from \"@/rapida/clients/protos/invoker-api_pb_service\";\n\nimport {\n  DEBUGGER_SOURCE,\n  SDK_SOURCE,\n  WEB_PLUGIN_SOURCE,\n} from \"../utils/rapida_source\";\nimport {\n  HEADER_API_KEY,\n  HEADER_AUTH_ID,\n  HEADER_PROJECT_ID,\n  HEADER_SOURCE_KEY,\n} from \"@/rapida/utils/rapida_header\";\n\n/**\n *\n */\ninterface ConnectionCallback {\n  /**\n   *\n   * @returns\n   */\n  onError?: () => void;\n\n  /**\n   *\n   * @returns\n   */\n  onConnect?: () => void;\n\n  /**\n   *\n   * @returns\n   */\n  onDisconnect?: () => void;\n}\n\nexport class ConnectionConfig {\n  /**\n   * an utils for debugger credentials\n   * @param param0\n   * @returns\n   */\n  static WithDebugger({\n    authorization,\n    userId,\n    projectId,\n  }: {\n    authorization: string;\n    userId: string;\n    projectId: string;\n  }): UserAuthInfo {\n    return {\n      authorization,\n      [HEADER_AUTH_ID]: userId,\n      [HEADER_PROJECT_ID]: projectId,\n      Client: {\n        [HEADER_SOURCE_KEY]: DEBUGGER_SOURCE,\n      },\n    };\n  }\n\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithPersonalToken({\n    Authorization,\n    AuthId,\n    ProjectId,\n  }: {\n    Authorization: string;\n    AuthId: string;\n    ProjectId: string;\n  }): UserAuthInfo {\n    return {\n      authorization: Authorization,\n      [HEADER_AUTH_ID]: AuthId,\n      [HEADER_PROJECT_ID]: ProjectId,\n      Client: {\n        [HEADER_SOURCE_KEY]: DEBUGGER_SOURCE,\n      },\n    };\n  }\n\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithWebpluginClient({\n    ApiKey,\n    UserId,\n  }: {\n    ApiKey: string;\n    UserId?: string;\n  }): ClientAuthInfo {\n    return {\n      [HEADER_API_KEY]: ApiKey,\n      [HEADER_AUTH_ID]: UserId,\n      Client: {\n        [HEADER_SOURCE_KEY]: WEB_PLUGIN_SOURCE,\n      },\n    };\n  }\n  /**\n   *\n   * @param param0\n   * @returns\n   */\n  static WithSDK({\n    ApiKey,\n    UserId,\n  }: {\n    ApiKey: string;\n    UserId?: string;\n  }): ClientAuthInfo {\n    return {\n      [HEADER_API_KEY]: ApiKey,\n      [HEADER_AUTH_ID]: UserId,\n      Client: {\n        [HEADER_SOURCE_KEY]: SDK_SOURCE,\n      },\n    };\n  }\n\n  _endpoint: {\n    assistant: string;\n    web: string;\n    endpoint: string;\n  };\n  _debug: boolean;\n  _auth?: ClientAuthInfo | UserAuthInfo;\n\n  getClientOptions() {\n    return { debug: this._debug };\n  }\n\n  constructor(\n    endpoint: {\n      assistant?: string;\n      web?: string;\n      endpoint?: string;\n    } = {\n      assistant: ASSISTANT_API,\n      web: WEB_API,\n      endpoint: ENDPOINT_API,\n    },\n    debug: boolean = false\n  ) {\n    this._endpoint = {\n      assistant: endpoint.assistant || ASSISTANT_API,\n      web: endpoint.web || WEB_API,\n      endpoint: endpoint.endpoint || ENDPOINT_API,\n    };\n    this._debug = debug;\n  }\n\n  get conversationClient(): TalkServiceClient {\n    return new TalkServiceClient(\n      this._endpoint.assistant,\n      this.getClientOptions()\n    );\n  }\n\n  get assistantClient(): AssistantServiceClient {\n    return new AssistantServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get projectClient(): ProjectServiceClient {\n    return new ProjectServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get knowledgeClient(): KnowledgeServiceClient {\n    return new KnowledgeServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get deploymentClient(): DeploymentClient {\n    return new DeploymentClient(this._endpoint.web, this.getClientOptions());\n  }\n\n  get marketplaceClient(): MarketplaceServiceClient {\n    return new MarketplaceServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get documentClient(): DocumentServiceClient {\n    return new DocumentServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get vaultClient(): VaultServiceClient {\n    return new VaultServiceClient(this._endpoint.web, this.getClientOptions());\n  }\n\n  get endpointClient(): EndpointServiceClient {\n    return new EndpointServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get auditLoggingClient(): AuditLoggingServiceClient {\n    return new AuditLoggingServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get assistantDeploymentClient(): AssistantDeploymentServiceClient {\n    return new AssistantDeploymentServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get organizationClient(): OrganizationServiceClient {\n    return new OrganizationServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get connectClient(): ConnectServiceClient {\n    return new ConnectServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get providerClient(): ProviderServiceClient {\n    return new ProviderServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  get authenticationClient(): AuthenticationServiceClient {\n    return new AuthenticationServiceClient(\n      this._endpoint.web,\n      this.getClientOptions()\n    );\n  }\n\n  withLocal(): this {\n    return this.withCustomEndpoint({\n      assistant: LOCAL_ASSISTANT_API,\n      web: LOCAL_WEB_API,\n      endpoint: LOCAL_ENDPOINT_API,\n    });\n  }\n\n  withAuth(auth: ClientAuthInfo | UserAuthInfo): this {\n    this._auth = auth;\n    return this;\n  }\n\n  get auth(): ClientAuthInfo | UserAuthInfo | undefined {\n    return this._auth;\n  }\n\n  /**\n   * with default connection config\n   * @param auth\n   * @returns\n   */\n  static DefaultConnectionConfig(\n    auth: ClientAuthInfo | UserAuthInfo\n  ): ConnectionConfig {\n    const cc = new ConnectionConfig();\n    cc.withAuth(auth);\n    return cc;\n  }\n\n  /**\n   *\n   * @param endpoint\n   * @param debug\n   * @returns\n   */\n  withCustomEndpoint(\n    endpoint: {\n      assistant?: string;\n      web?: string;\n      endpoint?: string;\n    } = {\n      assistant: ASSISTANT_API,\n      web: WEB_API,\n      endpoint: ENDPOINT_API,\n    },\n    debug?: boolean\n  ): this {\n    this._endpoint = {\n      assistant: endpoint.assistant || ASSISTANT_API,\n      web: endpoint.web || WEB_API,\n      endpoint: endpoint.endpoint || ENDPOINT_API,\n    };\n    if (debug !== undefined) this._debug = debug;\n    return this;\n  }\n}\n\n/**\n * Represents a connection to the TalkService, providing both a conversation client\n * and a streaming client for real-time communication.\n */\nexport class AssistantConnectionConfig extends ConnectionConfig {\n  _auth: ClientAuthInfo | UserAuthInfo;\n  private _callbacks?: ConnectionCallback;\n\n  constructor(\n    auth: ClientAuthInfo | UserAuthInfo,\n    endpoint: {\n      assistant?: string;\n      web?: string;\n      endpoint?: string;\n    } = {\n      assistant: ASSISTANT_API,\n      web: WEB_API,\n      endpoint: ENDPOINT_API,\n    },\n    debug: boolean = false\n  ) {\n    super(endpoint, debug);\n    this._auth = auth;\n    this._auth.Client = getClientInfo(this._auth.Client);\n  }\n\n  get conversationClient(): TalkServiceClient {\n    return new TalkServiceClient(\n      this._endpoint.assistant,\n      this.getClientOptions()\n    );\n  }\n\n  get assistantClient(): AssistantServiceClient {\n    return new AssistantServiceClient(\n      this._endpoint.assistant,\n      this.getClientOptions()\n    );\n  }\n\n  get streamClient(): TalkServiceClient {\n    return new TalkServiceClient(this._endpoint.assistant, {\n      ...this.getClientOptions(),\n      transport: grpc.WebsocketTransport(),\n    });\n  }\n\n  withConnectionCallback(cl: ConnectionCallback): this {\n    this._callbacks = cl;\n    return this;\n  }\n\n  onConnectionChange(connection: ConnectionState) {\n    if (connection === ConnectionState.Connected) {\n      this._callbacks?.onConnect?.();\n    } else {\n      this._callbacks?.onDisconnect?.();\n    }\n  }\n\n  get auth(): ClientAuthInfo | UserAuthInfo {\n    return this._auth;\n  }\n\n  get callbacks(): ConnectionCallback | undefined {\n    return this._callbacks;\n  }\n\n  set callbacks(value: ConnectionCallback | undefined) {\n    this._callbacks = value;\n  }\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for managing projects through the ProjectService.\n */\n\nexport const ASSISTANT_API = \"https://assistant-01.rapida.ai\";\nexport const WEB_API = \"https://api.rapida.ai\";\nexport const ENDPOINT_API = \"https://api.rapida.ai\";\n\nexport const LOCAL_ASSISTANT_API = \"http://assistant.rapida.local\";\nexport const LOCAL_WEB_API = \"http://dev.rapida.local\";\nexport const LOCAL_ENDPOINT_API = \"http://dev.rapida.local\";\n//\nexport const GRPC_ENDPOINT_URL = \"endpoint-01.rapida.ai\";\nexport const GRPC_ASSISTANT_URL = \"workflow-01.rapida.ai\";\nexport const GRPC_GATEWAY_URL = \"gateway-01.rapida.ai\";\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nimport { agentMessageChangeEventObserver } from \"@/rapida/hooks/observables/voice-agent\";\nimport { useObservableState } from \"@/rapida/hooks/use-observable-state\";\nimport { useEnsureVoiceAgent } from \"@/rapida/hooks/use-voice-agent\";\nimport React from \"react\";\n\n/**\n * Custom hook for managing agent connection in a voice system.\n * @returns An object containing the connection handler and connection status.\n */\nexport function useAgentMessage() {\n  // Get the voice agent instance\n  const agent = useEnsureVoiceAgent();\n  const observable = React.useMemo(\n    () => agentMessageChangeEventObserver(agent),\n    [agent]\n  );\n\n  const { chats } = useObservableState(observable, {\n    eventType: undefined,\n    chats: agent.messages,\n  });\n  return { messages: chats };\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Knowledge API. It\n *  includes methods for creating, retrieving, and updating knowledge documents,\n *  knowledge bases, and knowledge tags.\n */\n\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  IndexKnowledgeDocumentRequest,\n  IndexKnowledgeDocumentResponse,\n} from \"@/rapida/clients/protos/document-api_pb\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Index a document for knowledge\n *\n * @param knowledgeId - The ID of the knowledge id\n * @param knowledgeDocumentIds - A list of documents\n * @param indexType - an index type\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n */\nexport function IndexKnowledgeDocument(\n  client: ConnectionConfig,\n  knowledgeId: string,\n  knowledgeDocumentIds: string[],\n  indexType: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: IndexKnowledgeDocumentResponse | null\n  ) => void\n) {\n  const req = new IndexKnowledgeDocumentRequest();\n  req.setKnowledgedocumentidList(knowledgeDocumentIds);\n  req.setKnowledgeid(knowledgeId);\n  req.setIndextype(indexType);\n  return client.documentClient.indexKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Endpoint API. It includes\n *  methods for endpoint management, including creation, retrieval, and configuration.\n */\n\nimport { Criteria, Paginate } from \"./protos/common_pb\";\nimport {\n  GetAllDeploymentRequest,\n  GetAllDeploymentResponse,\n} from \"./protos/marketplace-api_pb\";\nimport { UserAuthInfo, ClientAuthInfo, WithAuthContext } from \".\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Retrieve all deployments based on pagination and filtering criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of results per page.\n * @param criteria - List of filtering criteria.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllDeployment(\n  client: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllDeploymentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllDeploymentRequest();\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return client.marketplaceClient.getAllDeployment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Deployment API.\n *  It includes methods for invoking requests with specified parameters.\n */\n\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  EndpointDefinition,\n  InvokeRequest,\n  InvokeResponse,\n} from \"@/rapida/clients/protos/invoker-api_pb\";\nimport p from \"google-protobuf/google/protobuf/any_pb\";\nimport { StringToAny } from \"@/rapida/utils/rapida_value\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Invoke an endpoint with specified parameters.\n *\n * @param endpointId - The ID of the endpoint to invoke.\n * @param endpointProviderModelId - The provider model ID of the endpoint.\n * @param parameters - A map of parameters to pass to the endpoint.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @param metadata - Optional metadata to include in the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function Invoke(\n  config: ConnectionConfig,\n  endpointId: string,\n  parameters: Map<string, p.Any>,\n  cb: (err: ServiceError | null, response: InvokeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  version?: string,\n  metadata?: Map<string, string>\n) {\n  const req = new InvokeRequest();\n  const endpoint = new EndpointDefinition();\n  endpoint.setEndpointid(endpointId);\n  if (version) {\n    endpoint.setVersion(version);\n  } else {\n    endpoint.setVersion(\"latest\");\n  }\n\n  req.setEndpoint(endpoint);\n\n  // Set the parameters for the request\n  parameters.forEach((value, key) => {\n    req.getArgsMap().set(key, value);\n  });\n\n  // Set the optional metadata for the request\n  if (metadata) {\n    metadata.forEach((value, key) => {\n      req.getMetadataMap().set(key, StringToAny(value));\n    });\n  }\n\n  return config.deploymentClient.invoke(req, WithAuthContext(authHeader), cb);\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for user authentication and management using gRPC.\n *  It includes operations such as user authentication, registration, password management,\n *  and social authentication with Google, LinkedIn, and GitHub.\n */\n\nimport {\n  AuthenticateRequest,\n  AuthenticateResponse,\n  RegisterUserRequest,\n  ForgotPasswordRequest,\n  VerifyTokenRequest,\n  VerifyTokenResponse,\n  AuthorizeRequest,\n  GetUserResponse,\n  GetUserRequest,\n  UpdateUserResponse,\n  UpdateUserRequest,\n  ForgotPasswordResponse,\n  SocialAuthenticationRequest,\n  CreatePasswordRequest,\n  CreatePasswordResponse,\n  GetAllUserRequest,\n  GetAllUserResponse,\n} from \"@/rapida/clients/protos/web-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { AuthenticationServiceClient } from \"@/rapida/clients/protos/web-api_pb_service\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"../connections/connection-config\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\n\n/**\n * Authenticate a user with email and password.\n *\n * @param email - The email address of the user.\n * @param password - The password of the user.\n * @param cb - Callback function to handle the response.\n */\nexport function AuthenticateUser(\n  config: ConnectionConfig,\n  email: string,\n  password: string,\n  cb: (err: ServiceError | null, auth: AuthenticateResponse | null) => void\n) {\n  const requestObject = new AuthenticateRequest();\n  requestObject.setEmail(email);\n  requestObject.setPassword(password);\n  return config.authenticationClient.authenticate(requestObject, cb);\n}\n\n/**\n * Authorize or reauthorize the user with headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function AuthorizeUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, org: AuthenticateResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  return config.authenticationClient.authorize(\n    new AuthorizeRequest(),\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Register a new user with email, password, and name.\n *\n * @param email - The email address of the user.\n * @param password - The password for the new user.\n * @param name - The name of the new user.\n * @param cb - Callback function to handle the response.\n */\nexport function RegisterUser(\n  config: ConnectionConfig,\n  email: string,\n  password: string,\n  name: string,\n  cb: (err: ServiceError | null, user: AuthenticateResponse | null) => void\n) {\n  const requestObject = new RegisterUserRequest();\n  requestObject.setEmail(email);\n  requestObject.setName(name);\n  requestObject.setPassword(password);\n  return config.authenticationClient.registerUser(requestObject, cb);\n}\n\n/**\n * Verify a token for authentication or authorization.\n *\n * @param token - The token to verify.\n * @param tokenType - The type of the token.\n * @param cb - Callback function to handle the response.\n */\nexport function VerifyToken(\n  config: ConnectionConfig,\n  token: string,\n  tokenType: string,\n  cb: (\n    err: ServiceError | null,\n    tokenResponse: VerifyTokenResponse | null\n  ) => void\n) {\n  const requestObject = new VerifyTokenRequest();\n  requestObject.setToken(token);\n  requestObject.setTokentype(tokenType);\n  return config.authenticationClient.verifyToken(requestObject, cb);\n}\n\n/**\n * Request a password reset for a user.\n *\n * @param email - The email address of the user.\n * @param cb - Callback function to handle the response.\n */\nexport function ForgotPassword(\n  config: ConnectionConfig,\n  email: string,\n  cb: (err: ServiceError | null, fpr: ForgotPasswordResponse | null) => void\n) {\n  const requestObject = new ForgotPasswordRequest();\n  requestObject.setEmail(email);\n  return config.authenticationClient.forgotPassword(requestObject, cb);\n}\n\n/**\n * Create a new password after a password reset link.\n *\n * @param token - The token received for password reset.\n * @param password - The new password.\n * @param cb - Callback function to handle the response.\n */\nexport function CreatePassword(\n  config: ConnectionConfig,\n  token: string,\n  password: string,\n  cb: (err: ServiceError | null, fpr: CreatePasswordResponse | null) => void\n) {\n  const requestObject = new CreatePasswordRequest();\n  requestObject.setToken(token);\n  requestObject.setPassword(password);\n  return config.authenticationClient.createPassword(requestObject, cb);\n}\n\n/**\n * Retrieve user information with authorization headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function GetUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, gur: GetUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  return config.authenticationClient.getUser(\n    new GetUserRequest(),\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update user information with optional name and authorization headers.\n *\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @param name - Optional new name for the user.\n */\nexport function UpdateUser(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: UpdateUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  name?: string\n) {\n  const requestObject = new UpdateUserRequest();\n  if (name) requestObject.setName(name);\n  return config.authenticationClient.updateUser(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve all users with pagination and criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of users per page.\n * @param criteria - List of criteria to filter users.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n */\nexport function GetAllUser(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (err: ServiceError | null, uur: GetAllUserResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllUserRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.authenticationClient.getAllUser(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Social authentication with Google.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Google(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.google(requestObject, cb);\n}\n\n/**\n * Social authentication with LinkedIn.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Linkedin(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.linkedin(requestObject, cb);\n}\n\n/**\n * Social authentication with GitHub.\n *\n * @param cb - Callback function to handle the response.\n * @param state - Optional state parameter for the authentication request.\n * @param code - Optional code parameter for the authentication request.\n */\nexport function Github(\n  config: ConnectionConfig,\n  cb: (err: ServiceError | null, uur: AuthenticateResponse | null) => void,\n  state?: string,\n  code?: string\n) {\n  const requestObject = new SocialAuthenticationRequest();\n  if (state) requestObject.setState(state);\n  if (code) requestObject.setCode(code);\n  return config.authenticationClient.github(requestObject, cb);\n}\n","import {\n  GetAllModelProviderRequest,\n  GetAllModelProviderResponse,\n  GetAllToolProviderResponse,\n  GetAllToolProviderRequest,\n} from \"@/rapida/clients/protos/provider-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { ProviderServiceClient } from \"@/rapida/clients/protos/provider-api_pb_service\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Retrieve all providers.\n *\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllProvider(\n  connectionConfig: ConnectionConfig,\n  cb: (\n    err: ServiceError | null,\n    response: GetAllModelProviderResponse | null\n  ) => void,\n  authHeader?: ClientAuthInfo | UserAuthInfo\n): void {\n  const request = new GetAllModelProviderRequest();\n  connectionConfig.providerClient.getAllModelProvider(\n    request,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllToolProvider(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    uvcr: GetAllToolProviderResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllToolProviderRequest();\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return connectionConfig.providerClient.getAllToolProvider(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Connect API. It includes\n *  methods for knowledge and action connections, as well as retrieving connector files.\n */\n\nimport { Criteria } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  ActionConnectRequest,\n  ActionConnectResponse,\n  GeneralConnectRequest,\n  GeneralConnectResponse,\n  GetConnectorFilesRequest,\n  GetConnectorFilesResponse,\n  KnowledgeConnectRequest,\n  KnowledgeConnectResponse,\n} from \"@/rapida/clients/protos/connect-api_pb\";\nimport { ConnectServiceClient } from \"@/rapida/clients/protos/connect-api_pb_service\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Establish a general connection.\n *\n * @param connect - The connection identifier.\n * @param code - The authorization code.\n * @param state - The state parameter.\n * @param scope - The requested scope.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GeneralConnect(\n  config: ConnectionConfig,\n  connect: string,\n  code: string,\n  state: string,\n  scope: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GeneralConnectResponse | null\n  ) => void\n) {\n  const req = new GeneralConnectRequest();\n  req.setConnect(connect);\n  req.setCode(code);\n  req.setState(state);\n  req.setScope(scope);\n  return config.connectClient.generalConnect(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Establish a knowledge connection.\n *\n * @param connect - The connection identifier.\n * @param code - The authorization code.\n * @param state - The state parameter.\n * @param scope - The requested scope.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function KnowledgeConnect(\n  config: ConnectionConfig,\n  connect: string,\n  code: string,\n  state: string,\n  scope: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: KnowledgeConnectResponse | null\n  ) => void\n) {\n  const req = new KnowledgeConnectRequest();\n  req.setConnect(connect);\n  req.setCode(code);\n  req.setState(state);\n  req.setScope(scope);\n  return config.connectClient.knowledgeConnect(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Establish an action connection.\n *\n * @param connect - The connection identifier.\n * @param code - The authorization code.\n * @param state - The state parameter.\n * @param scope - The requested scope.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function ActionConnect(\n  config: ConnectionConfig,\n  connect: string,\n  code: string,\n  state: string,\n  scope: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: ActionConnectResponse | null) => void\n) {\n  const req = new ActionConnectRequest();\n  req.setConnect(connect);\n  req.setCode(code);\n  req.setState(state);\n  req.setScope(scope);\n  return config.connectClient.actionConnect(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve files associated with a connector based on specified criteria.\n *\n * @param toolId - The ID of the tool (connector) to retrieve files from.\n * @param criterias - List of criteria to filter the files.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetConnectorFiles(\n  config: ConnectionConfig,\n  toolId: string,\n  criterias: Criteria[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetConnectorFilesResponse | null\n  ) => void\n) {\n  const req = new GetConnectorFilesRequest();\n  req.setToolid(toolId);\n  req.setCriteriasList(criterias);\n  return config.connectClient.getConnectorFiles(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides a function for creating a lead via the LeadService.\n */\nimport {\n  CreateOrganizationRequest,\n  UpdateOrganizationRequest,\n  GetOrganizationRequest,\n  GetOrganizationResponse,\n  CreateOrganizationResponse,\n  UpdateOrganizationResponse,\n} from \"./protos/web-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Create a new organization.\n *\n * @param name - The name of the organization.\n * @param size - The size of the organization.\n * @param industry - The industry the organization operates in.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateOrganization(\n  connectionConfig: ConnectionConfig,\n  name: string,\n  size: string,\n  industry: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateOrganizationResponse | null\n  ) => void\n) {\n  const requestObject = new CreateOrganizationRequest();\n  requestObject.setOrganizationname(name);\n  requestObject.setOrganizationsize(size);\n  requestObject.setOrganizationindustry(industry);\n\n  return connectionConfig.organizationClient.createOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update an existing organization.\n *\n * @param organizationId - The ID of the organization to update.\n * @param authHeader - Authentication headers for the request.\n * @param organizationName - Optional new name for the organization.\n * @param organizationIndustry - Optional new industry for the organization.\n * @param organizationContact - Optional new contact for the organization.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateOrganization(\n  connectionConfig: ConnectionConfig,\n  organizationId: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateOrganizationResponse | null\n  ) => void,\n  organizationName?: string,\n  organizationIndustry?: string,\n  organizationContact?: string\n) {\n  const requestObject = new UpdateOrganizationRequest();\n  requestObject.setOrganizationid(organizationId);\n\n  if (organizationName) {\n    requestObject.setOrganizationname(organizationName);\n  }\n  if (organizationIndustry) {\n    requestObject.setOrganizationindustry(organizationIndustry);\n  }\n  if (organizationContact) {\n    requestObject.setOrganizationcontact(organizationContact);\n  }\n\n  return connectionConfig.organizationClient.updateOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve details of an organization.\n *\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetOrganization(\n  connectionConfig: ConnectionConfig,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: GetOrganizationResponse | null\n  ) => void\n) {\n  const requestObject = new GetOrganizationRequest();\n\n  return connectionConfig.organizationClient.getOrganization(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for accessing audit logs via gRPC. It includes\n *  operations for retrieving lists of audit logs and fetching specific audit log entries.\n */\n\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  GetAllAuditLogRequest,\n  GetAllAuditLogResponse,\n  GetAuditLogRequest,\n  GetAuditLogResponse,\n} from \"@/rapida/clients/protos/audit-logging-api_pb\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Retrieve a paginated list of audit logs with filtering criteria.\n *\n * @param projectId - The ID of the project for which to retrieve audit logs.\n * @param page - The page number for pagination.\n * @param pageSize - The number of logs per page.\n * @param criteria - List of criteria to filter the audit logs.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetActivities(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllAuditLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllAuditLogRequest();\n  req.setProjectid(projectId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.auditLoggingClient.getAllAuditLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve a specific audit log entry by its ID.\n *\n * @param projectId - The ID of the project associated with the audit log.\n * @param auditId - The ID of the audit log entry to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetActivity(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  auditId: string,\n  cb: (err: ServiceError | null, response: GetAuditLogResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAuditLogRequest();\n  req.setProjectid(projectId);\n  req.setId(auditId);\n\n  return connectionConfig.auditLoggingClient.getAuditLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Endpoint API. It includes\n *  methods for endpoint management, including creation, retrieval, and configuration.\n */\n\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  GetAllEndpointRequest,\n  GetAllEndpointResponse,\n  CreateEndpointRequest,\n  GetAllEndpointProviderModelRequest,\n  UpdateEndpointVersionRequest,\n  UpdateEndpointVersionResponse,\n  GetEndpointRequest,\n  GetEndpointResponse,\n  CreateEndpointTagRequest,\n  EndpointRetryConfiguration,\n  EndpointCacheConfiguration,\n  CreateEndpointCacheConfigurationRequest,\n  CreateEndpointCacheConfigurationResponse,\n  CreateEndpointResponse,\n  EndpointProviderModelAttribute,\n  EndpointAttribute,\n  CreateEndpointProviderModelRequest,\n  CreateEndpointRetryConfigurationResponse,\n  CreateEndpointProviderModelResponse,\n  GetAllEndpointProviderModelResponse,\n  CreateEndpointRetryConfigurationRequest,\n  UpdateEndpointDetailRequest,\n  GetAllEndpointLogRequest,\n  GetAllEndpointLogResponse,\n  GetEndpointLogResponse,\n  GetEndpointLogRequest,\n} from \"@/rapida/clients/protos/endpoint-api_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Retrieve all endpoints based on pagination and filtering criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of results per page.\n * @param criteria - List of filtering criteria.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetAllEndpoint(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointRequest();\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return config.endpointClient.getAllEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update the version of an endpoint.\n *\n * @param endpointId - The ID of the endpoint to update.\n * @param endpointProviderModelId - The ID of the endpoint provider model.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function UpdateEndpointVersion(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModelId: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateEndpointVersionResponse | null\n  ) => void\n) {\n  const req = new UpdateEndpointVersionRequest();\n  req.setEndpointid(endpointId);\n  req.setEndpointprovidermodelid(endpointProviderModelId);\n  return config.endpointClient.updateEndpointVersion(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve all endpoint provider models for a specific endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param page - The page number for pagination.\n * @param pageSize - The number of results per page.\n * @param criteria - List of filtering criteria.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetAllEndpointProviderModel(\n  config: ConnectionConfig,\n  endpointId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointProviderModelResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointProviderModelRequest();\n  req.setEndpointid(endpointId);\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  return config.endpointClient.getAllEndpointProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieve details of a specific endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param endpointProviderModelId - Optional ID of the endpoint provider model.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function GetEndpoint(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModelId: string | null,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new GetEndpointRequest();\n  req.setId(endpointId);\n  if (endpointProviderModelId) {\n    req.setEndpointprovidermodelid(endpointProviderModelId);\n  }\n  return config.endpointClient.getEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new endpoint provider model.\n *\n * @param endpointId - The ID of the endpoint.\n * @param endpointProviderModel - The provider model attributes.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointProviderModel(\n  config: ConnectionConfig,\n  endpointId: string,\n  endpointProviderModel: EndpointProviderModelAttribute,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointProviderModelResponse | null\n  ) => void\n) {\n  const req = new CreateEndpointProviderModelRequest();\n  req.setEndpointid(endpointId);\n  req.setEndpointprovidermodelattribute(endpointProviderModel);\n  return config.endpointClient.createEndpointProviderModel(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a new endpoint with specified configurations.\n *\n * @param endpointProviderModel - The provider model attributes.\n * @param endpointAttributes - The attributes of the endpoint.\n * @param retryConfig - Optional retry configuration.\n * @param cacheConfig - Optional cache configuration.\n * @param tags - List of tags to associate with the endpoint.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpoint(\n  config: ConnectionConfig,\n  endpointProviderModel: EndpointProviderModelAttribute,\n  endpointAttributes: EndpointAttribute,\n  tags: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointResponse | null\n  ) => void,\n  retryConfig?: EndpointRetryConfiguration,\n  cacheConfig?: EndpointCacheConfiguration\n) {\n  const req = new CreateEndpointRequest();\n  req.setEndpointattribute(endpointAttributes);\n  req.setEndpointprovidermodelattribute(endpointProviderModel);\n  if (cacheConfig) req.setCacheconfiguration(cacheConfig);\n  if (retryConfig) req.setRetryconfiguration(retryConfig);\n  req.setTagsList(tags);\n  return config.endpointClient.createEndpoint(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Add tags to an existing endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param tags - List of tags to add.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointTag(\n  config: ConnectionConfig,\n  endpointId: string,\n  tags: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new CreateEndpointTagRequest();\n  req.setTagsList(tags);\n  req.setEndpointid(endpointId);\n  return config.endpointClient.createEndpointTag(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Update the details of an endpoint.\n *\n * @param endpointId - The ID of the endpoint to update.\n * @param name - The new name for the endpoint.\n * @param description - The new description for the endpoint.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function UpdateEndpointDetail(\n  config: ConnectionConfig,\n  endpointId: string,\n  name: string,\n  description: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: GetEndpointResponse | null) => void\n) {\n  const req = new UpdateEndpointDetailRequest();\n  req.setName(name);\n  req.setDescription(description);\n  req.setEndpointid(endpointId);\n  return config.endpointClient.updateEndpointDetail(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a retry configuration for an endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param retryType - The type of retry configuration.\n * @param maxAttempts - The maximum number of retry attempts.\n * @param delaySeconds - The delay between retry attempts in seconds.\n * @param exponentialBackoff - Whether to use exponential backoff.\n * @param retryables - List of error codes that should trigger a retry.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointRetryConfiguration(\n  config: ConnectionConfig,\n  endpointId: string,\n  retryType: string,\n  maxAttempts: string,\n  delaySeconds: string,\n  exponentialBackoff: boolean,\n  retryables: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointRetryConfigurationResponse | null\n  ) => void\n) {\n  const request = new CreateEndpointRetryConfigurationRequest();\n  const data = new EndpointRetryConfiguration();\n  data.setRetryablesList(retryables);\n  data.setExponentialbackoff(exponentialBackoff);\n  data.setDelayseconds(delaySeconds);\n  data.setMaxattempts(maxAttempts);\n  data.setRetrytype(retryType);\n  request.setEndpointid(endpointId);\n  request.setData(data);\n  return config.endpointClient.createEndpointRetryConfiguration(\n    request,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Create a cache configuration for an endpoint.\n *\n * @param endpointId - The ID of the endpoint.\n * @param cacheType - The type of cache configuration.\n * @param expiryInterval - The cache expiry interval.\n * @param matchThreshold - The threshold for cache match.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n \n */\nexport function CreateEndpointCacheConfiguration(\n  config: ConnectionConfig,\n  endpointId: string,\n  cacheType: string,\n  expiryInterval: string,\n  matchThreshold: number,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateEndpointCacheConfigurationResponse | null\n  ) => void\n) {\n  const request = new CreateEndpointCacheConfigurationRequest();\n  const data = new EndpointCacheConfiguration();\n  data.setMatchthreshold(matchThreshold);\n  data.setExpiryinterval(expiryInterval);\n  data.setCachetype(cacheType);\n  request.setEndpointid(endpointId);\n  request.setData(data);\n  return config.endpointClient.createEndpointCacheConfiguration(\n    request,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param page\n * @param pageSize\n * @param criteria\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetAllEndpointLog(\n  config: ConnectionConfig,\n  endpointId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllEndpointLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllEndpointLogRequest();\n  req.setEndpointid(endpointId);\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.endpointClient.getAllEndpointLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param organizationId\n * @param projectId\n * @param logId\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function GetEndpointLog(\n  config: ConnectionConfig,\n  endpointId: string,\n  logId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetEndpointLogResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetEndpointLogRequest();\n  req.setEndpointid(endpointId);\n  req.setId(logId);\n  return config.endpointClient.getEndpointLog(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides a function for creating a lead via the LeadService.\n */\n\nimport {\n  CreateProviderCredentialRequest,\n  GetCredentialResponse,\n  DeleteCredentialRequest,\n  GetAllOrganizationCredentialResponse,\n  GetAllOrganizationCredentialRequest,\n  CreateToolCredentialRequest,\n} from \"@/rapida/clients/protos/vault-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport { Struct } from \"google-protobuf/google/protobuf/struct_pb\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n *\n * @param providerId\n * @param providerKey\n * @param keyName\n * @param cb\n */\nexport function CreateProviderKey(\n  connectionConfig: ConnectionConfig,\n  providerId: string,\n  providerName: string,\n  credential: {},\n  name: string,\n  cb: (err: ServiceError | null, cpkr: GetCredentialResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new CreateProviderCredentialRequest();\n  requestObject.setProviderid(providerId);\n  requestObject.setProvidername(providerName);\n  requestObject.setCredential(Struct.fromJavaScript(credential));\n  requestObject.setName(name);\n  connectionConfig.vaultClient.createProviderCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param providerKeyId\n * @param providerId\n * @param providerKey\n * @param keyName\n * @param cb\n */\nexport function DeleteProviderKey(\n  connectionConfig: ConnectionConfig,\n  providerKeyId: string,\n  cb: (err: ServiceError | null, dpr: GetCredentialResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new DeleteCredentialRequest();\n  requestObject.setVaultid(providerKeyId);\n  connectionConfig.vaultClient.deleteCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param cb\n */\nexport function GetAllOrganizationCredential(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    pcs: GetAllOrganizationCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllOrganizationCredentialRequest();\n  const paginate = new Paginate();\n  criteria.forEach((x) => {\n    let ctr = new Criteria();\n    ctr.setKey(x.key);\n    ctr.setValue(x.value);\n    ctr.setLogic(x.logic);\n    req.addCriterias(ctr);\n  });\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n  connectionConfig.vaultClient.getAllOrganizationCredential(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param toolId\n * @param toolName\n * @param credential\n * @param name\n * @param cb\n * @param authHeader\n */\nexport function CreateToolCredential(\n  connectionConfig: ConnectionConfig,\n  toolId: string,\n  toolName: string,\n  credential: {},\n  name: string,\n  cb: (err: ServiceError | null, cpkr: GetCredentialResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new CreateToolCredentialRequest();\n  requestObject.setToolid(toolId);\n  requestObject.setToolname(toolName);\n  requestObject.setCredential(Struct.fromJavaScript(credential));\n  requestObject.setName(name);\n  connectionConfig.vaultClient.createToolCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for interacting with the Knowledge API. It\n *  includes methods for creating, retrieving, and updating knowledge documents,\n *  knowledge bases, and knowledge tags.\n */\n\nimport {\n  BaseResponse,\n  Content,\n  Criteria,\n  Paginate,\n} from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport {\n  CreateKnowledgeDocumentRequest,\n  CreateKnowledgeDocumentResponse,\n  CreateKnowledgeRequest,\n  CreateKnowledgeResponse,\n  CreateKnowledgeTagRequest,\n  GetAllKnowledgeDocumentRequest,\n  GetAllKnowledgeDocumentResponse,\n  GetAllKnowledgeDocumentSegmentRequest,\n  GetAllKnowledgeDocumentSegmentResponse,\n  GetAllKnowledgeRequest,\n  GetAllKnowledgeResponse,\n  GetKnowledgeRequest,\n  GetKnowledgeResponse,\n  UpdateKnowledgeDetailRequest,\n  UpdateKnowledgeDocumentSegmentRequest,\n} from \"@/rapida/clients/protos/knowledge-api_pb\";\nimport { DeleteKnowledgeDocumentSegmentRequest } from \"./protos/knowledge-api_pb\";\nimport {\n  RapidaDocumentPreProcessing,\n  RapidaDocumentSource,\n  RapidaDocumentType,\n} from \"@/rapida/utils/rapida_document\";\nimport { ProviderConfig } from \"@/rapida/utils\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Creates a new knowledge entry.\n *\n * @param providerModelId - The ID of the provider model.\n * @param providerId - The ID of the provider.\n * @param name - The name of the knowledge.\n * @param description - A description of the knowledge.\n * @param tags - A list of tags associated with the knowledge.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateKnowledge(\n  config: ConnectionConfig,\n  provider: ProviderConfig,\n  name: string,\n  description: string,\n  tags: string[],\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (\n    err: ServiceError | null,\n    response: CreateKnowledgeResponse | null\n  ) => void\n) {\n  const req = new CreateKnowledgeRequest();\n  req.setEmbeddingmodelproviderid(provider.providerId);\n  req.setEmbeddingmodelprovidername(provider.provider);\n  req.setKnowledgeembeddingmodeloptionsList(provider.parameters);\n  req.setName(name);\n  req.setDescription(description);\n  req.setTagsList(tags);\n  return config.knowledgeClient.createKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves a knowledge base by ID.\n *\n * @param knowledgeBaseId - The ID of the knowledge base to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetKnowledgeBase(\n  config: ConnectionConfig,\n  knowledgeBaseId: string,\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetKnowledgeRequest();\n  req.setId(knowledgeBaseId);\n  return config.knowledgeClient.getKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all knowledge bases with pagination and filtering.\n *\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeBases(\n  config: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string; logic: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value, logic }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    ctr.setLogic(logic);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledge(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Creates a new knowledge document.\n *\n * @param knowledgeId - The ID of the knowledge to associate the document with.\n * @param documentSource - The source of the document.\n * @param datasource - The data source for the document.\n * @param preProcessor - The pre-processing method to use.\n * @param contents - An array of content to include in the document.\n * @param separator - The separator used in custom processing.\n * @param maxchunksize - The maximum chunk size for document processing.\n * @param chunkoverlap - The overlap between chunks.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateKnowledgeDocument(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  documentSource: RapidaDocumentSource,\n  datasource: string,\n  documentType: RapidaDocumentType,\n  preProcessor: RapidaDocumentPreProcessing,\n  contents: Array<Content>,\n  separator: string,\n  maxchunksize: number,\n  chunkoverlap: number,\n  cb: (\n    err: ServiceError | null,\n    response: CreateKnowledgeDocumentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateKnowledgeDocumentRequest();\n\n  if (documentSource == RapidaDocumentSource.TOOL) {\n    req.setDocumentsource(1);\n  }\n\n  if (documentSource == RapidaDocumentSource.MANUAL) {\n    req.setDocumentsource(0);\n  }\n  req.setDocumentstructure(documentType);\n  req.setKnowledgeid(knowledgeId);\n  req.setDatasource(datasource);\n  req.setPreprocess(CreateKnowledgeDocumentRequest.PRE_PROCESS[preProcessor]);\n  req.setContentsList(contents);\n\n  if (preProcessor === RapidaDocumentPreProcessing.CUSTOM) {\n    req.setSeparator(separator);\n    req.setMaxchunksize(maxchunksize);\n    req.setChunkoverlap(chunkoverlap);\n  }\n\n  return config.knowledgeClient.createKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all documents associated with a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base.\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeDocument(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeDocumentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeDocumentRequest();\n  req.setKnowledgeid(knowledgeId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledgeDocument(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all segments of documents associated with a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base.\n * @param page - The page number to retrieve.\n * @param pageSize - The number of items per page.\n * @param criteria - A list of criteria for filtering results.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllKnowledgeDocumentSegmentResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllKnowledgeDocumentSegmentRequest();\n  req.setKnowledgeid(knowledgeId);\n\n  const paginate = new Paginate();\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return config.knowledgeClient.getAllKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Adds tags to a knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base to tag.\n * @param tags - A list of tags to add.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateKnowledgeTag(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  tags: string[],\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new CreateKnowledgeTagRequest();\n  req.setTagsList(tags);\n  req.setKnowledgeid(knowledgeId);\n\n  return config.knowledgeClient.createKnowledgeTag(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Updates details of an existing knowledge base.\n *\n * @param knowledgeId - The ID of the knowledge base to update.\n * @param name - The new name of the knowledge base.\n * @param description - The new description of the knowledge base.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateKnowledgeDetail(\n  config: ConnectionConfig,\n  knowledgeId: string,\n  name: string,\n  description: string,\n  cb: (err: ServiceError | null, response: GetKnowledgeResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new UpdateKnowledgeDetailRequest();\n  req.setKnowledgeid(knowledgeId);\n  req.setName(name);\n  req.setDescription(description);\n\n  return config.knowledgeClient.updateKnowledgeDetail(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param documentId\n * @param index\n * @param reason\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function DeleteKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  documentId: string,\n  index: string,\n  reason: string,\n  cb: (err: ServiceError | null, response: BaseResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new DeleteKnowledgeDocumentSegmentRequest();\n  req.setDocumentid(documentId);\n  req.setReason(reason);\n  req.setIndex(index);\n  return config.knowledgeClient.deleteKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n *\n * @param documentId\n * @param index\n * @param organizationsList\n * @param datesList\n * @param productsList\n * @param eventsList\n * @param peopleList\n * @param timesList\n * @param quantitiesList\n * @param locationsList\n * @param industriesList\n * @param documentName\n * @param cb\n * @param authHeader\n * @returns\n */\nexport function UpdateKnowledgeDocumentSegment(\n  config: ConnectionConfig,\n  documentId: string,\n  index: string,\n  organizationsList: string[],\n  datesList: string[],\n  productsList: string[],\n  eventsList: string[],\n  peopleList: string[],\n  timesList: string[],\n  quantitiesList: string[],\n  locationsList: string[],\n  industriesList: string[],\n  documentName: string,\n  cb: (err: ServiceError | null, response: BaseResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new UpdateKnowledgeDocumentSegmentRequest();\n  req.setOrganizationsList(organizationsList);\n  req.setDatesList(datesList);\n  req.setProductsList(productsList);\n  req.setEventsList(eventsList);\n  req.setPeopleList(peopleList);\n  req.setTimesList(timesList);\n  req.setQuantitiesList(quantitiesList);\n  req.setLocationsList(locationsList);\n  req.setIndustriesList(industriesList);\n  req.setDocumentname(documentName);\n  req.setDocumentid(documentId);\n  req.setIndex(index);\n  return config.knowledgeClient.updateKnowledgeDocumentSegment(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n *  This module provides functions for managing projects through the ProjectService.\n */\n\nimport {\n  AddUsersToProjectRequest,\n  CreateProjectRequest,\n  CreateProjectResponse,\n  GetAllProjectResponse,\n  UpdateProjectRequest,\n  UpdateProjectResponse,\n  GetProjectResponse,\n  GetProjectRequest,\n  ArchiveProjectResponse,\n  ArchiveProjectRequest,\n  AddUsersToProjectResponse,\n  GetAllProjectCredentialResponse,\n  GetAllProjectCredentialRequest,\n  CreateProjectCredentialRequest,\n  CreateProjectCredentialResponse,\n  GetAllProjectRequest,\n} from \"@/rapida/clients/protos/web-api_pb\";\nimport { Criteria, Paginate } from \"@/rapida/clients/protos/common_pb\";\nimport {\n  UserAuthInfo,\n  ClientAuthInfo,\n  WithAuthContext,\n} from \"@/rapida/clients\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n * Adds users to a project with specified roles.\n *\n * @param email - The email address of the user to add.\n * @param role - The role to assign to the user.\n * @param projectIds - List of project IDs to which the user will be added.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function AddUsersToProject(\n  connectionConfig: ConnectionConfig,\n  email: string,\n  role: string,\n  projectIds: string[],\n  cb: (\n    err: ServiceError | null,\n    response: AddUsersToProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new AddUsersToProjectRequest();\n  requestObject.setEmail(email);\n  requestObject.setRole(role);\n  requestObject.setProjectidsList(projectIds);\n\n  return connectionConfig.projectClient.addUsersToProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Creates a new project with the specified details.\n *\n * @param projectName - The name of the project to create.\n * @param projectDescription - The description of the project.\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateProject(\n  connectionConfig: ConnectionConfig,\n  projectName: string,\n  projectDescription: string,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  cb: (err: ServiceError | null, response: CreateProjectResponse | null) => void\n) {\n  const requestObject = new CreateProjectRequest();\n  requestObject.setProjectname(projectName);\n  requestObject.setProjectdescription(projectDescription);\n\n  return connectionConfig.projectClient.createProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Updates an existing project with the given details.\n *\n * @param projectId - The ID of the project to update.\n * @param projectName - The new name for the project (optional).\n * @param projectDescription - The new description for the project (optional).\n * @param authHeader - Authentication headers for the request.\n * @param cb - Callback function to handle the response.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function UpdateProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: UpdateProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo,\n  projectName?: string,\n  projectDescription?: string\n) {\n  const requestObject = new UpdateProjectRequest();\n  requestObject.setProjectid(projectId);\n\n  if (projectName) requestObject.setProjectname(projectName);\n  if (projectDescription)\n    requestObject.setProjectdescription(projectDescription);\n\n  return connectionConfig.projectClient.updateProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves a paginated list of all projects based on specified criteria.\n *\n * @param page - The page number for pagination.\n * @param pageSize - The number of projects per page.\n * @param criteria - List of criteria to filter the projects.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllProject(\n  connectionConfig: ConnectionConfig,\n  page: number,\n  pageSize: number,\n  criteria: { key: string; value: string }[],\n  cb: (\n    err: ServiceError | null,\n    response: GetAllProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const req = new GetAllProjectRequest();\n  const paginate = new Paginate();\n\n  criteria.forEach(({ key, value }) => {\n    const ctr = new Criteria();\n    ctr.setKey(key);\n    ctr.setValue(value);\n    req.addCriterias(ctr);\n  });\n\n  paginate.setPage(page);\n  paginate.setPagesize(pageSize);\n  req.setPaginate(paginate);\n\n  return connectionConfig.projectClient.getAllProject(\n    req,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves the details of a specific project by ID.\n *\n * @param projectId - The ID of the project to retrieve.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (err: ServiceError | null, response: GetProjectResponse | null) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new GetProjectRequest();\n  requestObject.setProjectid(projectId);\n\n  return connectionConfig.projectClient.getProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Archives a project, effectively deleting it.\n *\n * @param projectId - The ID of the project to archive.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function DeleteProject(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: ArchiveProjectResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new ArchiveProjectRequest();\n  requestObject.setId(projectId);\n\n  return connectionConfig.projectClient.archiveProject(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Retrieves all credentials associated with a specific project.\n *\n * @param projectId - The ID of the project for which to retrieve credentials.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function GetAllProjectCredential(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  cb: (\n    err: ServiceError | null,\n    response: GetAllProjectCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new GetAllProjectCredentialRequest();\n  requestObject.setProjectid(projectId);\n\n  return connectionConfig.projectClient.getAllProjectCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n\n/**\n * Creates a new credential for a specific project.\n *\n * @param projectId - The ID of the project for which to create a credential.\n * @param name - The name of the new credential.\n * @param cb - Callback function to handle the response.\n * @param authHeader - Authentication headers for the request.\n * @returns UnaryResponse - The gRPC response object.\n */\nexport function CreateProjectCredential(\n  connectionConfig: ConnectionConfig,\n  projectId: string,\n  name: string,\n  cb: (\n    err: ServiceError | null,\n    response: CreateProjectCredentialResponse | null\n  ) => void,\n  authHeader: ClientAuthInfo | UserAuthInfo\n) {\n  const requestObject = new CreateProjectCredentialRequest();\n  requestObject.setProjectid(projectId);\n  requestObject.setName(name);\n\n  return connectionConfig.projectClient.createProjectCredential(\n    requestObject,\n    WithAuthContext(authHeader),\n    cb\n  );\n}\n","/*\n *  Copyright (c) 2024. Rapida\n *\n *  Permission is hereby granted, free of charge, to any person obtaining a copy\n *  of this software and associated documentation files (the \"Software\"), to deal\n *  in the Software without restriction, including without limitation the rights\n *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *  copies of the Software, and to permit persons to whom the Software is\n *  furnished to do so, subject to the following conditions:\n *\n *  The above copyright notice and this permission notice shall be included in\n *  all copies or substantial portions of the Software.\n *\n *  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *  THE SOFTWARE.\n *\n *  Author: Prashant <prashant@rapida.ai>\n *\n */\nexport { VoiceAgent } from \"@/rapida/agents/voice-agent\";\nexport { VoiceAgentContext } from \"@/rapida/hooks/use-voice-agent\";\nexport { Conversation } from \"@/rapida/components/text/conversations\";\nexport { AgentMultibandAudioVisualizer } from \"./components/visualization/agent-multiband-audio-visualizer\";\nexport { AgentLiveTranscript } from \"./components/live-transcript\";\n\nexport {\n  toTextContent,\n  toContentText,\n  toStreamAudioContent,\n} from \"./utils/rapida_content\";\n// all hooks\nexport { useMessageFeedback } from \"./hooks/use-message-feedback\";\nexport { useConversationFeedback } from \"./hooks/use-conversation-feedback\";\nexport { useConnectAgent } from \"@/rapida/hooks/use-connect-agent\";\nexport { useInputModeToggleAgent } from \"@/rapida/hooks/use-input-mode-toggle-agent\";\nexport { useSelectInputDeviceAgent } from \"@/rapida/hooks/use-select-input-device-agent\";\nexport { useAgentDeployment } from \"@/rapida/hooks/use-agent-deployment\";\nexport { ConnectionState } from \"./connections/connection-state\";\nexport { Channel } from \"./channels/index\";\nexport { MediaDeviceFailure } from \"./devices/device-failure\";\nexport {\n  InputOptions,\n  OutputOptions,\n  AgentConfig,\n} from \"./agents/agent-config\";\nexport { Message, MessageRole, MessageStatus } from \"./agents/message\";\nexport { Feedback } from \"./agents/feedback\";\nexport {\n  useEnsureVoiceAgent,\n  useMaybeVoiceAgent,\n} from \"./hooks/use-voice-agent\";\nexport {\n  useMultiband3DSpeakerTrackVolume,\n  useMultibandMicrophoneTrackVolume,\n} from \"@/rapida/hooks/use-multiband-track-volume\";\nexport {\n  ConnectionConfig,\n  AssistantConnectionConfig,\n} from \"./connections/connection-config\";\nexport * from \"@/rapida/utils/rapida_value\";\nexport * from \"@/rapida/utils/rapida_source\";\nexport * from \"@/rapida/agents/agent-deployment\";\nexport { useAgentMessage } from \"@/rapida/hooks/use-agent-message\";\n\nexport {\n  HEADER_ENVIRONMENT_KEY,\n  HEADER_SOURCE_KEY,\n  HEADER_REGION_KEY,\n  HEADER_API_KEY,\n  HEADER_AUTH_ID,\n  HEADER_PROJECT_ID,\n  HEADER_USER_AGENT,\n  HEADER_LANGUAGE,\n  HEADER_PLATFORM,\n  HEADER_SCREEN_WIDTH,\n  HEADER_SCREEN_HEIGHT,\n  HEADER_WINDOW_WIDTH,\n  HEADER_WINDOW_HEIGHT,\n  HEADER_TIMEZONE,\n  HEADER_COLOR_DEPTH,\n  HEADER_DEVICE_MEMORY,\n  HEADER_HARDWARE_CONCURRENCY,\n  HEADER_CONNECTION_TYPE,\n  HEADER_CONNECTION_EFFECTIVE_TYPE,\n  HEADER_COOKIES_ENABLED,\n  HEADER_DO_NOT_TRACK,\n  HEADER_REFERRER,\n  HEADER_REMOTE_URL,\n  HEADER_LATITUDE,\n  HEADER_LONGITUDE,\n} from \"@/rapida/utils/rapida_header\";\nexport { IndexKnowledgeDocument } from \"@/rapida/clients/document\";\nexport { GetAllDeployment } from \"@/rapida/clients/marketplace\";\nexport { Invoke } from \"@/rapida/clients/invoke\";\nexport {\n  AuthenticateUser,\n  AuthorizeUser,\n  RegisterUser,\n  VerifyToken,\n  ForgotPassword,\n  CreatePassword,\n  GetUser,\n  UpdateUser,\n  GetAllUser,\n  Google,\n  Linkedin,\n  Github,\n} from \"@/rapida/clients/auth\";\nexport { GetAllProvider, GetAllToolProvider } from \"@/rapida/clients/provider\";\nexport {\n  WithPlatform,\n  WithAuthContext,\n  getClientInfo,\n  WithClientContext,\n} from \"@/rapida/clients/index\";\nexport {\n  GeneralConnect,\n  KnowledgeConnect,\n  ActionConnect,\n  GetConnectorFiles,\n} from \"@/rapida/clients/connect\";\nexport {\n  CreateOrganization,\n  UpdateOrganization,\n  GetOrganization,\n} from \"@/rapida/clients/organization\";\nexport {\n  GetAllAssistant,\n  UpdateAssistantVersion,\n  GetAllAssistantProviderModel,\n  GetAssistant,\n  CreateAssistantProviderModel,\n  CreateAssistant,\n  CreateAssistantTag,\n  UpdateAssistantDetail,\n  GetAssistantMessages,\n  GetMessages,\n  GetAllAssistantSession,\n  GetAllAssistantConversationMessage,\n  CreateAssistantDebuggerDeployment,\n  GetAssistantDebuggerDeployment,\n  CreateAssistantApiDeployment,\n  GetAssistantApiDeployment,\n  CreateAssistantWebpluginDeployment,\n  GetAssistantWebpluginDeployment,\n  CreateAssistantPhoneDeployment,\n  GetAssistantPhoneDeployment,\n  CreateAssistantWhatsappDeployment,\n  GetAssistantWhatsappDeployment,\n  GetAllAssistantWebhook,\n  CreateWebhook,\n  UpdateWebhook,\n  GetAssistantWebhook,\n  DeleteAssistantWebhook,\n  GetAssistantConversation,\n  DeleteAssistant,\n  GetAllAssistantAnalysis,\n  CreateAnalysis,\n  UpdateAnalysis,\n  GetAssistantAnalysis,\n  DeleteAssistantAnalysis,\n  GetAllWebhookLog,\n  GetWebhookLog,\n  GetAllAssistantTool,\n  CreateAssistantTool,\n  UpdateAssistantTool,\n  GetAssistantTool,\n  DeleteAssistantTool,\n  GetAllAssistantKnowledge,\n  CreateAssistantKnowledge,\n  UpdateAssistantKnowledge,\n  GetAssistantKnowledge,\n  DeleteAssistantKnowledge,\n} from \"@/rapida/clients/assistant\";\nexport { GetActivities, GetActivity } from \"@/rapida/clients/activity\";\nexport {\n  GetAllEndpoint,\n  UpdateEndpointVersion,\n  GetAllEndpointProviderModel,\n  GetEndpoint,\n  CreateEndpointProviderModel,\n  CreateEndpoint,\n  CreateEndpointTag,\n  UpdateEndpointDetail,\n  CreateEndpointRetryConfiguration,\n  CreateEndpointCacheConfiguration,\n  GetAllEndpointLog,\n  GetEndpointLog,\n} from \"@/rapida/clients/endpoint\";\nexport {\n  CreateProviderKey,\n  DeleteProviderKey,\n  GetAllOrganizationCredential,\n  CreateToolCredential,\n} from \"@/rapida/clients/vault\";\nexport {\n  AssistantTalk,\n  CreateMessageMetric,\n  CreateConversationMetric,\n  GetAllAssistantConversation,\n} from \"@/rapida/clients/talk\";\nexport {\n  CreateKnowledge,\n  GetKnowledgeBase,\n  GetAllKnowledgeBases,\n  CreateKnowledgeDocument,\n  GetAllKnowledgeDocument,\n  GetAllKnowledgeDocumentSegment,\n  CreateKnowledgeTag,\n  UpdateKnowledgeDetail,\n  DeleteKnowledgeDocumentSegment,\n  UpdateKnowledgeDocumentSegment,\n} from \"@/rapida/clients/knowledge\";\nexport {\n  AddUsersToProject,\n  CreateProject,\n  UpdateProject,\n  GetAllProject,\n  GetProject,\n  DeleteProject,\n  GetAllProjectCredential,\n  CreateProjectCredential,\n} from \"@/rapida/clients/project\";\n\nexport {\n  EndpointService,\n  EndpointServiceClient,\n} from \"@/rapida/clients/protos/endpoint-api_pb_service\";\nexport {\n  AssistantDeploymentService,\n  AssistantDeploymentServiceClient,\n} from \"@/rapida/clients/protos/assistant-deployment_pb_service\";\nexport {\n  ConnectService,\n  ConnectServiceClient,\n} from \"@/rapida/clients/protos/connect-api_pb_service\";\nexport {\n  VaultService,\n  VaultServiceClient,\n} from \"@/rapida/clients/protos/vault-api_pb_service\";\nexport {\n  Deployment,\n  DeploymentClient,\n} from \"@/rapida/clients/protos/invoker-api_pb_service\";\nexport {\n  AssistantKnowledge,\n  CreateAssistantKnowledgeRequest,\n  UpdateAssistantKnowledgeRequest,\n  GetAssistantKnowledgeRequest,\n  DeleteAssistantKnowledgeRequest,\n  GetAssistantKnowledgeResponse,\n  GetAllAssistantKnowledgeRequest,\n  GetAllAssistantKnowledgeResponse,\n} from \"@/rapida/clients/protos/assistant-knowledge_pb\";\nexport {\n  GetAllDeploymentRequest,\n  SearchableDeployment,\n  GetAllDeploymentResponse,\n} from \"@/rapida/clients/protos/marketplace-api_pb\";\nexport {\n  SendgridService,\n  SendgridServiceClient,\n} from \"@/rapida/clients/protos/sendgrid-api_pb_service\";\nexport {\n  BedrockService,\n  OpenAiService,\n  AzureService,\n  GoogleService,\n  ReplicateService,\n  AnthropicService,\n  CohereService,\n  HuggingfaceService,\n  MistralService,\n  StabilityAiService,\n  TogetherAiService,\n  DeepInfraService,\n  VoyageAiService,\n  BedrockServiceClient,\n  OpenAiServiceClient,\n  AzureServiceClient,\n  GoogleServiceClient,\n  ReplicateServiceClient,\n  AnthropicServiceClient,\n  CohereServiceClient,\n  HuggingfaceServiceClient,\n  MistralServiceClient,\n  StabilityAiServiceClient,\n  TogetherAiServiceClient,\n  DeepInfraServiceClient,\n  VoyageAiServiceClient,\n} from \"@/rapida/clients/protos/integration-api_pb_service\";\nexport {\n  AuditLog,\n  GetAllAuditLogRequest,\n  GetAllAuditLogResponse,\n  GetAuditLogRequest,\n  GetAuditLogResponse,\n  CreateMetadataRequest,\n  CreateMetadataResponse,\n} from \"@/rapida/clients/protos/audit-logging-api_pb\";\nexport {\n  KnowledgeService,\n  KnowledgeServiceClient,\n} from \"@/rapida/clients/protos/knowledge-api_pb_service\";\nexport {\n  GetAllModelProviderRequest,\n  GetAllModelProviderResponse,\n  ToolProvider,\n  GetAllToolProviderRequest,\n  GetAllToolProviderResponse,\n} from \"@/rapida/clients/protos/provider-api_pb\";\nexport {\n  VaultCredential,\n  CreateProviderCredentialRequest,\n  CreateToolCredentialRequest,\n  GetAllOrganizationCredentialResponse,\n  GetProviderCredentialRequest,\n  GetAllOrganizationCredentialRequest,\n  GetCredentialRequest,\n  GetCredentialResponse,\n} from \"@/rapida/clients/protos/vault-api_pb\";\nexport {\n  ProviderService,\n  ProviderServiceClient,\n} from \"@/rapida/clients/protos/provider-api_pb_service\";\nexport {\n  AssistantDefinition,\n  AssistantMessagingRequest,\n  AssistantConversationConfiguration,\n  AssistantConversationInterruption,\n  AssistantConversationUserMessage,\n  AssistantConversationAssistantMessage,\n  AssistantMessagingResponse,\n  CreateMessageMetricRequest,\n  CreateMessageMetricResponse,\n  CreateConversationMetricRequest,\n  CreateConversationMetricResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nexport {\n  AssistantAnalysis,\n  CreateAssistantAnalysisRequest,\n  UpdateAssistantAnalysisRequest,\n  GetAssistantAnalysisRequest,\n  DeleteAssistantAnalysisRequest,\n  GetAssistantAnalysisResponse,\n  GetAllAssistantAnalysisRequest,\n  GetAllAssistantAnalysisResponse,\n} from \"@/rapida/clients/protos/assistant-analysis_pb\";\n\nexport {\n  Contact,\n  WelcomeEmailRequest,\n  WelcomeEmailResponse,\n  ResetPasswordEmailRequest,\n  ResetPasswordEmailResponse,\n  InviteMemeberEmailRequest,\n  InviteMemeberEmailResponse,\n} from \"@/rapida/clients/protos/sendgrid-api_pb\";\nexport {\n  EndpointDefinition,\n  InvokeRequest,\n  InvokeResponse,\n  UpdateRequest,\n  UpdateResponse,\n  ProbeRequest,\n  ProbeResponse,\n} from \"@/rapida/clients/protos/invoker-api_pb\";\nexport {\n  AuthenticateRequest,\n  RegisterUserRequest,\n  Token,\n  OrganizationRole,\n  ProjectRole,\n  FeaturePermission,\n  Authentication,\n  ScopedAuthentication,\n  AuthenticationError,\n  AuthenticateResponse,\n  ForgotPasswordRequest,\n  ForgotPasswordResponse,\n  CreatePasswordRequest,\n  CreatePasswordResponse,\n  VerifyTokenRequest,\n  VerifyTokenResponse,\n  AuthorizeRequest,\n  ScopeAuthorizeRequest,\n  ScopedAuthenticationResponse,\n  GetUserRequest,\n  GetUserResponse,\n  UpdateUserRequest,\n  UpdateUserResponse,\n  SocialAuthenticationRequest,\n  GetAllUserRequest,\n  GetAllUserResponse,\n  OrganizationError,\n  CreateOrganizationRequest,\n  UpdateOrganizationRequest,\n  GetOrganizationRequest,\n  GetOrganizationResponse,\n  CreateOrganizationResponse,\n  UpdateOrganizationResponse,\n  UpdateBillingInformationRequest,\n  Project,\n  CreateProjectRequest,\n  CreateProjectResponse,\n  UpdateProjectRequest,\n  UpdateProjectResponse,\n  GetProjectRequest,\n  GetProjectResponse,\n  GetAllProjectRequest,\n  GetAllProjectResponse,\n  AddUsersToProjectRequest,\n  ArchiveProjectRequest,\n  ArchiveProjectResponse,\n  AddUsersToProjectResponse,\n  ProjectCredential,\n  CreateProjectCredentialRequest,\n  GetAllProjectCredentialRequest,\n  CreateProjectCredentialResponse,\n  GetAllProjectCredentialResponse,\n} from \"@/rapida/clients/protos/web-api_pb\";\nexport {\n  FieldSelector,\n  Criteria,\n  Error,\n  Paginate,\n  Paginated,\n  Ordering,\n  User,\n  BaseResponse,\n  Metadata,\n  Argument,\n  Variable,\n  Provider,\n  Tag,\n  Organization,\n  Metric,\n  Content,\n  Message as ProtoMessage,\n  ToolCall,\n  FunctionCall,\n  Knowledge,\n  TextPrompt,\n  TextChatCompletePrompt,\n  AssistantMessageStage,\n  AssistantConversationMessage,\n  AssistantConversationContext,\n  AssistantConversation,\n  GetAllAssistantConversationRequest,\n  GetAllAssistantConversationResponse,\n  GetAllConversationMessageRequest,\n  GetAllConversationMessageResponse,\n} from \"@/rapida/clients/protos/common_pb\";\nexport {\n  AssistantService,\n  AssistantServiceClient,\n} from \"@/rapida/clients/protos/assistant-api_pb_service\";\nexport {\n  TalkService,\n  TalkServiceClient,\n} from \"@/rapida/clients/protos/talk-api_pb_service\";\nexport {\n  AssistantWebhook,\n  AssistantWebhookLog,\n  CreateAssistantWebhookRequest,\n  UpdateAssistantWebhookRequest,\n  GetAssistantWebhookRequest,\n  DeleteAssistantWebhookRequest,\n  GetAssistantWebhookResponse,\n  GetAllAssistantWebhookRequest,\n  GetAllAssistantWebhookResponse,\n  GetAllAssistantWebhookLogRequest,\n  GetAssistantWebhookLogRequest,\n  GetAssistantWebhookLogResponse,\n  GetAllAssistantWebhookLogResponse,\n} from \"@/rapida/clients/protos/assistant-webhook_pb\";\nexport {\n  KnowledgeConnectRequest,\n  KnowledgeConnectResponse,\n  GeneralConnectRequest,\n  GeneralConnectResponse,\n  ActionConnectRequest,\n  ActionConnectResponse,\n  GetConnectorFilesRequest,\n  GetConnectorFilesResponse,\n} from \"@/rapida/clients/protos/connect-api_pb\";\nexport {\n  DocumentService,\n  DocumentServiceClient,\n} from \"@/rapida/clients/protos/document-api_pb_service\";\nexport {\n  MarketplaceService,\n  MarketplaceServiceClient,\n} from \"@/rapida/clients/protos/marketplace-api_pb_service\";\nexport {\n  IndexKnowledgeDocumentRequest,\n  IndexKnowledgeDocumentResponse,\n} from \"@/rapida/clients/protos/document-api_pb\";\nexport {\n  EndpointAttribute,\n  EndpointProviderModelAttribute,\n  CreateEndpointRequest,\n  CreateEndpointResponse,\n  EndpointProviderModel,\n  AggregatedEndpointAnalytics,\n  Endpoint,\n  CreateEndpointProviderModelRequest,\n  CreateEndpointProviderModelResponse,\n  GetEndpointRequest,\n  GetEndpointResponse,\n  GetAllEndpointRequest,\n  GetAllEndpointResponse,\n  GetAllEndpointProviderModelRequest,\n  GetAllEndpointProviderModelResponse,\n  UpdateEndpointVersionRequest,\n  UpdateEndpointVersionResponse,\n  EndpointRetryConfiguration,\n  EndpointCacheConfiguration,\n  CreateEndpointRetryConfigurationRequest,\n  CreateEndpointRetryConfigurationResponse,\n  CreateEndpointCacheConfigurationRequest,\n  CreateEndpointCacheConfigurationResponse,\n  CreateEndpointTagRequest,\n  ForkEndpointRequest,\n  UpdateEndpointDetailRequest,\n  EndpointLog,\n  GetAllEndpointLogRequest,\n  GetAllEndpointLogResponse,\n  GetEndpointLogRequest,\n  GetEndpointLogResponse,\n} from \"@/rapida/clients/protos/endpoint-api_pb\";\nexport {\n  AssistantTool,\n  CreateAssistantToolRequest,\n  UpdateAssistantToolRequest,\n  GetAssistantToolRequest,\n  DeleteAssistantToolRequest,\n  GetAssistantToolResponse,\n  GetAllAssistantToolRequest,\n  GetAllAssistantToolResponse,\n} from \"@/rapida/clients/protos/assistant-tool_pb\";\nexport {\n  Credential,\n  ToolDefinition,\n  FunctionDefinition,\n  FunctionParameter,\n  FunctionParameterProperty,\n  Embedding,\n  EmbeddingRequest,\n  EmbeddingResponse,\n  Reranking,\n  RerankingRequest,\n  RerankingResponse,\n  ChatResponse,\n  ChatRequest,\n  VerifyCredentialRequest,\n  VerifyCredentialResponse,\n  Moderation,\n  GetModerationRequest,\n  GetModerationResponse,\n} from \"@/rapida/clients/protos/integration-api_pb\";\nexport {\n  DeploymentAudioProvider,\n  AssistantDeploymentCapturer,\n  AssistantWebpluginDeployment,\n  AssistantPhoneDeployment,\n  AssistantWhatsappDeployment,\n  AssistantDebuggerDeployment,\n  AssistantApiDeployment,\n  CreateAssistantApiDeploymentRequest,\n  AssistantApiDeploymentResponse,\n  CreateAssistantPhoneDeploymentRequest,\n  AssistantPhoneDeploymentResponse,\n  CreateAssistantWhatsappDeploymentRequest,\n  AssistantWhatsappDeploymentResponse,\n  CreateAssistantDebuggerDeploymentRequest,\n  AssistantDebuggerDeploymentResponse,\n  CreateAssistantWebpluginDeploymentRequest,\n  AssistantWebpluginDeploymentResponse,\n  GetAssistantDeploymentRequest,\n} from \"@/rapida/clients/protos/assistant-deployment_pb\";\nexport {\n  AuditLoggingService,\n  AuditLoggingServiceClient,\n} from \"@/rapida/clients/protos/audit-logging-api_pb_service\";\nexport {\n  CreateKnowledgeRequest,\n  CreateKnowledgeResponse,\n  GetAllKnowledgeRequest,\n  GetAllKnowledgeResponse,\n  GetKnowledgeRequest,\n  GetKnowledgeResponse,\n  CreateKnowledgeTagRequest,\n  KnowledgeDocument,\n  GetAllKnowledgeDocumentRequest,\n  GetAllKnowledgeDocumentResponse,\n  CreateKnowledgeDocumentRequest,\n  CreateKnowledgeDocumentResponse,\n  KnowledgeDocumentSegment,\n  GetAllKnowledgeDocumentSegmentRequest,\n  GetAllKnowledgeDocumentSegmentResponse,\n  UpdateKnowledgeDetailRequest,\n  UpdateKnowledgeDocumentSegmentRequest,\n  DeleteKnowledgeDocumentSegmentRequest,\n} from \"@/rapida/clients/protos/knowledge-api_pb\";\nexport {\n  Assistant,\n  AssistantProviderModel,\n  CreateAssistantRequest,\n  CreateAssistantProviderModelRequest,\n  GetAssistantProviderModelResponse,\n  CreateAssistantTagRequest,\n  GetAssistantRequest,\n  DeleteAssistantRequest,\n  GetAssistantResponse,\n  GetAllAssistantRequest,\n  GetAllAssistantResponse,\n  GetAllAssistantProviderModelRequest,\n  GetAllAssistantProviderModelResponse,\n  GetAllAssistantMessageRequest,\n  GetAllAssistantMessageResponse,\n  GetAllMessageRequest,\n  GetAllMessageResponse,\n  UpdateAssistantVersionRequest,\n  UpdateAssistantDetailRequest,\n  GetAllAssistantUserConversationRequest,\n  GetAllAssistantUserConversationResponse,\n  GetAssistantConversationRequest,\n  GetAssistantConversationResponse,\n} from \"@/rapida/clients/protos/assistant-api_pb\";\nexport {\n  AuthenticationService,\n  OrganizationService,\n  ProjectService,\n  AuthenticationServiceClient,\n  OrganizationServiceClient,\n  ProjectServiceClient,\n} from \"@/rapida/clients/protos/web-api_pb_service\";\nexport { CreatePhoneCall, CreateBulkPhoneCall } from \"./clients/call\";\nexport {\n  CreateBulkPhoneCallRequest,\n  CreateBulkPhoneCallResponse,\n  CreatePhoneCallRequest,\n  CreatePhoneCallResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\n\nexport {\n  ServiceError,\n  Status,\n  UnaryResponse,\n  ResponseStream,\n  RequestStream,\n  BidirectionalStream,\n} from \"@/rapida/clients/types\";\n","import { WithAuthContext } from \"@/rapida/clients\";\nimport {\n  CreateBulkPhoneCallRequest,\n  CreateBulkPhoneCallResponse,\n  CreatePhoneCallRequest,\n  CreatePhoneCallResponse,\n} from \"@/rapida/clients/protos/talk-api_pb\";\nimport { ServiceError } from \"@/rapida/clients/types\";\nimport { ConnectionConfig } from \"@/rapida/connections/connection-config\";\n\n/**\n *\n * @param clientCfg\n * @param assistantId\n * @param assistantVersion\n * @param params\n * @param args\n * @param options\n * @param metadata\n * @returns\n */\nexport function CreatePhoneCall(\n  clientCfg: ConnectionConfig,\n  request: CreatePhoneCallRequest\n): Promise<CreatePhoneCallResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.conversationClient.createPhoneCall(\n      request,\n      WithAuthContext(clientCfg.auth),\n      (err: ServiceError | null, response: CreatePhoneCallResponse | null) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n\n/**\n *\n * @param clientCfg\n * @param assistantId\n * @param assistantVersionx\n * @param params\n * @param args\n * @param options\n * @param metadata\n * @returns\n */\nexport function CreateBulkPhoneCall(\n  clientCfg: ConnectionConfig,\n  request: CreateBulkPhoneCallRequest\n): Promise<CreateBulkPhoneCallResponse> {\n  return new Promise((resolve, reject) => {\n    clientCfg.conversationClient.createBulkPhoneCall(\n      request,\n      WithAuthContext(clientCfg.auth),\n      (\n        err: ServiceError | null,\n        response: CreateBulkPhoneCallResponse | null\n      ) => {\n        if (err) reject(err);\n        else resolve(response!);\n      }\n    );\n  });\n}\n"],"mappings":"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","names":["grpc","TalkService","TalkServiceClient","grpc","AssistantService","AssistantServiceClient","grpc","AuthenticationService","AuthenticationServiceClient","OrganizationService","OrganizationServiceClient","ProjectService","ProjectServiceClient","grpc","KnowledgeService","KnowledgeServiceClient","grpc","MarketplaceService","MarketplaceServiceClient","grpc","DocumentService","DocumentServiceClient","grpc","VaultService","VaultServiceClient","grpc","EndpointService","EndpointServiceClient","reader","grpc","AuditLoggingService","AuditLoggingServiceClient","grpc","AssistantDeploymentService","AssistantDeploymentServiceClient","reader","grpc","ConnectService","ConnectServiceClient","reader","grpc","ProviderService","ProviderServiceClient","reader","grpc","Deployment","DeploymentClient","grpc","SendgridService","SendgridServiceClient","reader","grpc","BedrockService","BedrockServiceClient","OpenAiService","OpenAiServiceClient","AzureService","AzureServiceClient","GoogleService","GoogleServiceClient","ReplicateService","ReplicateServiceClient","AnthropicService","AnthropicServiceClient","CohereService","CohereServiceClient","HuggingfaceService","HuggingfaceServiceClient","MistralService","MistralServiceClient","StabilityAiService","StabilityAiServiceClient","TogetherAiService","TogetherAiServiceClient","DeepInfraService","DeepInfraServiceClient","VoyageAiService","VoyageAiServiceClient","React","React","React","React","MediaDeviceFailure","import_talk_api_pb","import_web_api_pb_service","React","import_common_pb","import_common_pb","import_web_api_pb","import_common_pb","import_common_pb","import_common_pb","import_common_pb","import_knowledge_api_pb","import_web_api_pb","import_common_pb","import_endpoint_api_pb_service","import_assistant_deployment_pb_service","import_connect_api_pb_service","import_vault_api_pb_service","import_invoker_api_pb_service","import_marketplace_api_pb","import_audit_logging_api_pb","import_knowledge_api_pb_service","import_provider_api_pb","import_vault_api_pb","import_provider_api_pb_service","import_talk_api_pb","import_invoker_api_pb","import_web_api_pb","import_common_pb","import_assistant_api_pb_service","import_talk_api_pb_service","import_connect_api_pb","import_document_api_pb_service","import_marketplace_api_pb_service","import_document_api_pb","import_endpoint_api_pb","import_audit_logging_api_pb_service","import_knowledge_api_pb","import_web_api_pb_service","import_talk_api_pb"]}