[
  {
    "path": ".gitattributes",
    "content": "###############################################################################\n# Set default behavior to automatically normalize line endings.\n###############################################################################\n* text=auto\n\n###############################################################################\n# Set default behavior for command prompt diff.\n#\n# This is need for earlier builds of msysgit that does not have it on by\n# default for csharp files.\n# Note: This is only used by command line\n###############################################################################\n#*.cs     diff=csharp\n\n###############################################################################\n# Set the merge driver for project and solution files\n#\n# Merging from the command prompt will add diff markers to the files if there\n# are conflicts (Merging from VS is not affected by the settings below, in VS\n# the diff markers are never inserted). Diff markers may cause the following \n# file extensions to fail to load in VS. An alternative would be to treat\n# these files as binary and thus will always conflict and require user\n# intervention with every merge. To do so, just uncomment the entries below\n###############################################################################\n#*.sln       merge=binary\n#*.csproj    merge=binary\n#*.vbproj    merge=binary\n#*.vcxproj   merge=binary\n#*.vcproj    merge=binary\n#*.dbproj    merge=binary\n#*.fsproj    merge=binary\n#*.lsproj    merge=binary\n#*.wixproj   merge=binary\n#*.modelproj merge=binary\n#*.sqlproj   merge=binary\n#*.wwaproj   merge=binary\n\n###############################################################################\n# behavior for image files\n#\n# image files are treated as binary by default.\n###############################################################################\n#*.jpg   binary\n#*.png   binary\n#*.gif   binary\n\n###############################################################################\n# diff behavior for common document formats\n# \n# Convert binary document formats to text before diffing them. This feature\n# is only available from the command line. Turn it on by uncommenting the \n# entries below.\n###############################################################################\n#*.doc   diff=astextplain\n#*.DOC   diff=astextplain\n#*.docx  diff=astextplain\n#*.DOCX  diff=astextplain\n#*.dot   diff=astextplain\n#*.DOT   diff=astextplain\n#*.pdf   diff=astextplain\n#*.PDF   diff=astextplain\n#*.rtf   diff=astextplain\n#*.RTF   diff=astextplain\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\n[Xx]64/\n[Xx]86/\n[Bb]uild/\nbld/\n[Bb]in/\n[Oo]bj/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# DNX\nproject.lock.json\nartifacts/\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n\n# TODO: Un-comment the next line if you do not want to checkin\n# your web deploy settings because they may include unencrypted\n# passwords\n#*.pubxml\n*.publishproj\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignoreable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directory\nAppPackages/\nBundleArtifacts/\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n[Ss]tyle[Cc]op.*\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.pfx\n*.publishsettings\nnode_modules/\norleans.codegen.cs\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# LightSwitch generated files\nGeneratedArtifacts/\nModelManifest.xml\n\n# Paket dependency manager\n.paket/paket.exe\n\n# FAKE - F# Make\n.fake/\n"
  },
  {
    "path": "Camunda.Api.Client/ApiException.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Concurrent;\nusing System.Diagnostics;\nusing System.Linq.Expressions;\nusing System.Net.Http;\nusing System.Reflection;\n\nnamespace Camunda.Api.Client\n{\n    [JsonObject(MemberSerialization.OptIn)]\n    public class ApiException : Exception\n    {\n        public string ErrorType { get; }\n        public HttpResponseMessage Response { get; }\n\n        [DebuggerBrowsable(DebuggerBrowsableState.Never)]\n        private static readonly ConcurrentDictionary<string, Func<string, string, HttpResponseMessage, ApiException>> _knownTypes =\n            new ConcurrentDictionary<string, Func<string, string, HttpResponseMessage, ApiException>>();\n\n        public ApiException(string type, string message, HttpResponseMessage response) : base(message)\n        {\n            ErrorType = type;\n            Response = response;\n        }\n\n        private static Func<string, string, HttpResponseMessage, ApiException> GetConstructor(string typeName)\n        {\n            return _knownTypes.GetOrAdd(typeName, typeName_ =>\n            {\n                Type t = Type.GetType($\"{typeof(ApiException).Namespace}.{typeName_}\");\n\n                if (t == null || !typeof(ApiException).IsAssignableFrom(t))\n                    return null;\n\n                var paramType = Expression.Parameter(typeof(string));\n                var paramMessage = Expression.Parameter(typeof(string));\n                var paramResponse = Expression.Parameter(typeof(HttpResponseMessage));\n\n                var ctor = t.GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { paramType.Type, paramMessage.Type, paramResponse.Type }, null);\n\n                if (ctor == null)\n                    return null;\n\n                var newExpression = Expression.New(ctor, paramType, paramMessage, paramResponse);\n                var lambda = Expression.Lambda<Func<string, string, HttpResponseMessage, ApiException>>(newExpression, paramType, paramMessage, paramResponse);\n\n                return lambda.Compile();\n            });\n        }\n\n        public static ApiException FromRestError(RestError restError, HttpResponseMessage response)\n        {\n            var ctor = GetConstructor(restError.Type);\n            if (ctor != null)\n                return ctor(restError.Type, restError.Message, response);\n            else\n                return new ApiException(restError.Type, restError.Message, response);\n        }\n    }\n\n    /// <summary>\n    /// Exception thrown by the process engine in case a user tries to interact with a resource in an unauthorized way.\n    /// </summary>\n    public class AuthorizationException : ApiException\n    {\n        [JsonProperty]\n        public string UserId { get; private set; }\n        [JsonProperty]\n        public string PermissionName { get; private set; }\n        [JsonProperty]\n        public string ResourceName { get; private set; }\n        [JsonProperty]\n        public string ResourceId { get; private set; }\n\n        public AuthorizationException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine\n    /// </summary>\n    public class RuntimeException : ApiException\n    {\n        public RuntimeException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    public class RestException : RuntimeException\n    {\n        public RestException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// This exception is used for any kind of errors that occur due to malformed parameters in a Http query.\n    /// </summary>\n    public class InvalidRequestException : RestException\n    {\n        public InvalidRequestException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Runtime exception that is the superclass of all exceptions in the process engine.\n    /// </summary>\n    public class ProcessEngineException : RuntimeException\n    {\n        public ProcessEngineException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Exception resulting from a bad user request. A bad user request is an interaction where the user requests some non-existing state or attempts to perform an illegal action on some entity.\n    /// </summary>\n    public class BadUserRequestException : ProcessEngineException\n    {\n        public BadUserRequestException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Exception during the parsing of an BPMN model.\n    /// </summary>\n    public class BpmnParseException : ProcessEngineException\n    {\n        public BpmnParseException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Runtime exception indicating the requested class was not found or an error occurred while loading the class.\n    /// </summary>\n    public class ClassLoadingException : ProcessEngineException\n    {\n        [JsonProperty]\n        public string ClassName { get; private set; }\n\n        public ClassLoadingException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Exception that is thrown when an optimistic locking occurs in the datastore  caused by concurrent access of the same data entry.\n    /// </summary>\n    public class OptimisticLockingException : ProcessEngineException\n    {\n        public OptimisticLockingException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Exception resulting from a error during a script compilation.\n    /// </summary>\n    public class ScriptEngineException : ProcessEngineException\n    {\n        public ScriptEngineException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// This exception is thrown when you try to claim a task that is already claimed by someone else.\n    /// </summary>\n    public class TaskAlreadyClaimedException : ProcessEngineException\n    {\n        public TaskAlreadyClaimedException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Exception that is thrown when the Activiti engine discovers a mismatch between the database schema version and the engine version.\n    /// </summary>\n    public class WrongDbException : ProcessEngineException\n    {\n        public WrongDbException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Special exception that can be used to throw a BPMN Error from JavaDelegate and expressions.\n    /// This should only be used for business faults, which shall be handled by a Boundary Error Event or Error Event Sub-Process modeled in the process definition.\n    /// Technical errors should be represented by other exception types.\n    /// </summary>\n    public class BpmnError : ProcessEngineException\n    {\n        [JsonProperty]\n        public string ErrorCode { get; private set; }\n        [JsonProperty]\n        public string ErrorMessage { get; private set; }\n\n        public BpmnError(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    public class DeploymentResourceNotFoundException : ProcessEngineException\n    {\n        public DeploymentResourceNotFoundException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    public class NullValueException : ProcessEngineException\n    {\n        public NullValueException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// This is exception is thrown when a specific case definition is not found.\n    /// </summary>\n    public class CaseException : ProcessEngineException\n    {\n        public CaseException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// This exception is thrown when a specific decision definition is not found.\n    /// </summary>\n    public class DecisionException : ProcessEngineException\n    {\n        public DecisionException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    public class FormException : ProcessEngineException\n    {\n        public FormException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Marks an exception triggered inside an identity provider implementation.\n    /// </summary>\n    public class IdentityProviderException : ProcessEngineException\n    {\n        public IdentityProviderException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Represents any of the exception conditions that can arise during expression evaluation.\n    /// </summary>\n    public class ELException : ProcessEngineException\n    {\n        public ELException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    public class PvmException : ProcessEngineException\n    {\n        public PvmException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Thrown if at least one migration instruction cannot be applied to the activity instance it matches.\n    /// </summary>\n    public class MigratingProcessInstanceValidationException : ProcessEngineException\n    {\n        public MigratingProcessInstanceValidationException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Represents an exception in activiti cdi.\n    /// </summary>\n    public class ProcessEngineCdiException : ProcessEngineException\n    {\n        public ProcessEngineCdiException(string type, string message, HttpResponseMessage response)\n            :base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// Unable to bootstrap server.\n    /// </summary>\n    public class ServerBootstrapException : RuntimeException\n    {\n        public ServerBootstrapException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    /// <summary>\n    /// The JSONException is thrown by the JSON.org classes when things are amiss.\n    /// </summary>\n    public class JSONException : RuntimeException\n    {\n        public JSONException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n\n    public class HalRelationCacheConfigurationException : RuntimeException\n    {\n        public HalRelationCacheConfigurationException(string type, string message, HttpResponseMessage response)\n            : base(type, message, response) { }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Batch/BatchInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.Batch\n{\n    public class BatchInfo\n    {\n        /// <summary>\n        /// The id of the batch.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The type of the batch.\n        /// </summary>\n        public string Type;\n        /// <summary>\n        /// The total jobs of a batch is the number of batch execution jobs required to complete the batch.\n        /// </summary>\n        public int TotalJobs;\n        /// <summary>\n        /// The number of batch execution jobs already created by the seed job.\n        /// </summary>\n        public int JobsCreated;\n        /// <summary>\n        /// Number\tThe number of batch execution jobs created per seed job invocation.\n        /// The batch seed job is invoked until it has created all batch execution jobs required by the batch (see <see cref=\"TotalJobs\"/> property).\n        /// </summary>\n        public int BatchJobsPerSeed;\n        /// <summary>\n        /// Every batch execution job invokes the command executed by the batch invocationsPerBatchJob times.\n        /// E.g., for a process instance migration batch this specifies the number of process instances which are migrated per batch execution job.\n        /// </summary>\n        public int InvocationsPerBatchJob;\n        /// <summary>\n        /// The job definition id for the seed jobs of this batch.\n        /// </summary>\n        public string SeedJobDefinitionId;\n        /// <summary>\n        /// The job definition id for the batch execution jobs of this batch.\n        /// </summary>\n        public string BatchJobDefinitionId;\n        /// <summary>\n        /// Indicates whether this batch is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The tenant id of the batch.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The id of the user that created the batch.\n        /// </summary>\n        public string CreateUserId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/BinaryDataContent.cs",
    "content": "﻿using Iana;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client\n{\n    public class BinaryDataContent : StreamContent\n    {\n        /// <param name=\"stream\">The binary data to be set.</param>\n        /// <param name=\"fileName\">The name of the file. This is not the variable name but the name that will be used when downloading the file again.</param>\n        public BinaryDataContent(Stream stream, string fileName = \"unspecified\") : base(stream)\n        {\n            Headers.ContentDisposition = new ContentDispositionHeaderValue(\"form-data\") { FileName = fileName, Name = \"data\" };\n            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Application.OctetStream);\n            Headers.Add(\"Content-Transfer-Encoding\", \"binary\");\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Camunda.Api.Client.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFrameworks>netstandard2.0;net461</TargetFrameworks>\n    <GenerateDocumentationFile Condition=\" '$(Configuration)' == 'Release' \">true</GenerateDocumentationFile>\n    <VersionSuffix></VersionSuffix>\n    <VersionPrefix>2.6.0</VersionPrefix>\n    <FileVersion>2.6.0.0</FileVersion>\n    <Product>Camunda REST API Client</Product>\n    <Title>Camunda REST API Client</Title>\n    <Authors>Jan Lucansky</Authors>\n    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>\n    <PackageProjectUrl>https://github.com/jlucansky/Camunda.Api.Client</PackageProjectUrl>\n    <PackageIcon>icon.png</PackageIcon>\n    <Description>Camunda REST API Client for .NET platform</Description>\n    <PackageTags>camunda rest refit bpmn bpm</PackageTags>\n    <PackageReleaseNotes></PackageReleaseNotes>\n    <RepositoryType></RepositoryType>\n    <PackageLicenseFile>LICENSE</PackageLicenseFile>\n    <NoWarn>1701;1702;1705;1591</NoWarn>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <!-- Don't increment AssemblyVersion -->\n    <AssemblyVersion>2.0.0.0</AssemblyVersion>\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>..\\Key.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Refit\" Version=\"5.0.23\" />\n    <PackageReference Include=\"System.Net.Http\" Version=\"4.3.4\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <None Include=\"..\\LICENSE\" Pack=\"true\" PackagePath=\"\" />\n    <None Include=\"icon.png\" Pack=\"true\" PackagePath=\"\" />\n  </ItemGroup>\n\n  \n  <Target Name=\"PostBuild\" AfterTargets=\"PostBuildEvent\">\n    <!-- wait for manually signing to complete -->\n    <Exec Condition=\"$(SIGNTOOL_WAIT) != ''\" Command=\"start cmd /c pause\" />\n  </Target>\n\n</Project>\n"
  },
  {
    "path": "Camunda.Api.Client/CamundaClient.cs",
    "content": "﻿using System;\nusing System.Net.Http;\nusing System.Reflection;\nusing System.Globalization;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Serialization;\nusing Refit;\n\nusing Camunda.Api.Client.CaseDefinition;\nusing Camunda.Api.Client.CaseExecution;\nusing Camunda.Api.Client.CaseInstance;\nusing Camunda.Api.Client.DecisionDefinition;\nusing Camunda.Api.Client.Deployment;\nusing Camunda.Api.Client.Execution;\nusing Camunda.Api.Client.ExternalTask;\nusing Camunda.Api.Client.Group;\nusing Camunda.Api.Client.History;\nusing Camunda.Api.Client.Incident;\nusing Camunda.Api.Client.Job;\nusing Camunda.Api.Client.JobDefinition;\nusing Camunda.Api.Client.Message;\nusing Camunda.Api.Client.Migration;\nusing Camunda.Api.Client.ProcessDefinition;\nusing Camunda.Api.Client.ProcessInstance;\nusing Camunda.Api.Client.Signal;\nusing Camunda.Api.Client.Tenant;\nusing Camunda.Api.Client.User;\nusing Camunda.Api.Client.UserTask;\nusing Camunda.Api.Client.VariableInstance;\n\nusing JsonSerializer = Newtonsoft.Json.JsonSerializer;\nusing Camunda.Api.Client.Filter;\n\nnamespace Camunda.Api.Client\n{\n    public class CamundaClient\n    {\n        private Lazy<ICaseDefinitionRestService> _caseDefinitionRestService;\n        private Lazy<ICaseExecutionRestService> _caseExecutionRestService;\n        private Lazy<ICaseInstanceRestService> _caseInstanceRestService;\n        private Lazy<IDecisionDefinitionRestService> _decisionDefinitionRestService;\n        private Lazy<IDeploymentRestService> _deploymentApi;\n        private Lazy<IExecutionRestService> _executionApi;\n        private Lazy<IExternalTaskRestService> _externalTaskApi;\n        private Lazy<IGroupRestService> _groupApi;\n        private Lazy<IIncidentRestService> _incidentApi;\n        private Lazy<IJobDefinitionRestService> _jobDefinitionApi;\n        private Lazy<IJobRestService> _jobApi;\n        private Lazy<IMigrationRestService> _migrationRestService;\n        private Lazy<IMessageRestService> _messageApi;\n        private Lazy<IProcessDefinitionRestService> _processDefinitionApi;\n        private Lazy<IProcessInstanceRestService> _processInstanceApi;\n        private Lazy<ISignalRestService> _signalApi;\n        private Lazy<ITenantRestService> _tenantApi;\n        private Lazy<IUserRestService> _userApi;\n        private Lazy<IUserTaskRestService> _userTaskApi;\n        private Lazy<IVariableInstanceRestService> _variableInstanceApi;\n        private Lazy<IFilterRestService> _filterApi;\n\n        private HistoricApi _historicApi;\n\n        private string _hostUrl;\n        private HttpClient _httpClient;\n\n        private RefitSettings _refitSettings;\n        private HttpMessageHandler _httpMessageHandler;\n        internal static JsonSerializerSettings JsonSerializerSettings { get; private set; }\n        internal static IContentSerializer JsonContentSerializer { get; private set; }\n\n        internal class HistoricApi\n        {\n            public Lazy<IHistoricActivityInstanceRestService> ActivityInstanceApi;\n            public Lazy<IHistoricCaseActivityInstanceRestService> CaseActivityInstanceApi;\n            public Lazy<IHistoricCaseDefinitionRestService> CaseDefinitionApi;\n            public Lazy<IHistoricCaseInstanceRestService> CaseInstanceApi;\n            public Lazy<IHistoricDecisionInstanceRestService> DecisionInstanceApi;\n            public Lazy<IHistoricDetailRestService> DetailApi;\n            public Lazy<IHistoricIncidentRestService> IncidentApi;\n            public Lazy<IHistoricJobLogRestService> JobLogApi;\n            public Lazy<IHistoricProcessInstanceRestService> ProcessInstanceApi;\n            public Lazy<IHistoricVariableInstanceRestService> VariableInstanceApi;\n            public Lazy<IHistoricUserTaskRestService> UserTaskApi;\n            public Lazy<IHistoricProcessDefinitionRestService> ProcessDefinitionApi;\n            public Lazy<IHistoricExternalTaskLogRestService> ExternalTaskLogApi;\n        }\n\n        static CamundaClient()\n        {\n            JsonSerializerSettings = JsonSerializerSettings ?? new JsonSerializerSettings\n            {\n                ContractResolver = new CustomCamelCasePropertyNamesContractResolver(),\n                NullValueHandling = NullValueHandling.Ignore, // do not send empty fields\n            };\n\n            JsonSerializerSettings.Converters.Add(new StringEnumConverter());\n            JsonSerializerSettings.Converters.Add(new CustomIsoDateTimeConverter());\n\n            JsonContentSerializer = JsonContentSerializer ?? new JsonContentSerializer(JsonSerializerSettings);\n        }\n\n        private class CustomIsoDateTimeConverter : Newtonsoft.Json.Converters.IsoDateTimeConverter\n        {\n            public CustomIsoDateTimeConverter()\n            {\n                Culture = CultureInfo.InvariantCulture;\n            }\n\n            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)\n            {\n                if (value is DateTime dateTime)\n                {\n                    if ((DateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal\n                        || (DateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)\n                    {\n                        dateTime = dateTime.ToUniversalTime();\n                    }\n\n                    writer.WriteValue(dateTime.ToJavaISO8601());\n                }\n                else\n                {\n                    base.WriteJson(writer, value, serializer);\n                }\n            }\n\n            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)\n            {\n                bool nullable = objectType.IsGenericType && objectType.GetGenericTypeDefinition() == typeof(Nullable<>);\n\n                if (reader.TokenType == JsonToken.String)\n                {\n                    string dateText = reader.Value.ToString();\n\n                    if (string.IsNullOrEmpty(dateText) && nullable)\n                        return null;\n\n                    if (dateText.EndsWith(\"UTC\"))\n                    {\n                        if (DateTime.TryParseExact(dateText.Replace(\"UTC\", \"Z\"), \"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFK\", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out var dt))\n                            return dt;\n                    }\n                }\n\n                return base.ReadJson(reader, objectType, existingValue, serializer);\n            }\n        }\n\n        private void Initialize()\n        {\n            _httpMessageHandler = _httpMessageHandler ?? new ErrorMessageHandler();\n\n            _refitSettings = _refitSettings ?? new RefitSettings\n            {\n                ContentSerializer = JsonContentSerializer,\n                UrlParameterFormatter = new CustomUrlParameterFormatter(),\n                HttpMessageHandlerFactory = () => _httpMessageHandler\n            };\n        }\n\n        private class CustomUrlParameterFormatter : DefaultUrlParameterFormatter\n        {\n            public override string Format(object parameterValue, ICustomAttributeProvider attributeProvider, Type type)\n            {\n                if (parameterValue is bool)\n                    return string.Format(CultureInfo.InvariantCulture, \"{0}\", parameterValue).ToLowerInvariant();\n\n                return base.Format(parameterValue, attributeProvider, type);\n            }\n        }\n\n        private class CustomCamelCasePropertyNamesContractResolver : CamelCasePropertyNamesContractResolver\n        {\n            // preserve exact dictionary key\n            protected override string ResolveDictionaryKey(string dictionaryKey) => dictionaryKey;\n        }\n\n        private CamundaClient(string hostUrl)\n        {\n            _hostUrl = hostUrl;\n            Initialize();\n            CreateServices();\n        }\n\n        private CamundaClient(HttpClient httpClient)\n        {\n            _httpClient = httpClient;\n            Initialize();\n            CreateServices();\n        }\n\n        private CamundaClient(string hostUrl, HttpMessageHandler httpMessageHandler)\n        {\n            _hostUrl = hostUrl;\n            _httpMessageHandler = httpMessageHandler;\n            Initialize();\n            CreateServices();\n        }\n\n        private void CreateServices()\n        {\n            _caseDefinitionRestService = CreateService<ICaseDefinitionRestService>();\n            _caseExecutionRestService = CreateService<ICaseExecutionRestService>();\n            _caseInstanceRestService = CreateService<ICaseInstanceRestService>();\n            _decisionDefinitionRestService = CreateService<IDecisionDefinitionRestService>();\n            _deploymentApi = CreateService<IDeploymentRestService>();\n            _executionApi = CreateService<IExecutionRestService>();\n            _externalTaskApi = CreateService<IExternalTaskRestService>();\n            _groupApi = CreateService<IGroupRestService>();\n            _incidentApi = CreateService<IIncidentRestService>();\n            _jobApi = CreateService<IJobRestService>();\n            _jobDefinitionApi = CreateService<IJobDefinitionRestService>();\n            _messageApi = CreateService<IMessageRestService>();\n            _migrationRestService = CreateService<IMigrationRestService>();\n            _processDefinitionApi = CreateService<IProcessDefinitionRestService>();\n            _processInstanceApi = CreateService<IProcessInstanceRestService>();\n            _signalApi = CreateService<ISignalRestService>();\n            _tenantApi = CreateService<ITenantRestService>();\n            _userApi = CreateService<IUserRestService>();\n            _userTaskApi = CreateService<IUserTaskRestService>();\n            _variableInstanceApi = CreateService<IVariableInstanceRestService>();\n            _filterApi = CreateService<IFilterRestService>();\n\n            _historicApi = new HistoricApi()\n            {\n                ActivityInstanceApi = CreateService<IHistoricActivityInstanceRestService>(),\n                CaseActivityInstanceApi = CreateService<IHistoricCaseActivityInstanceRestService>(),\n                CaseDefinitionApi = CreateService<IHistoricCaseDefinitionRestService>(),\n                CaseInstanceApi = CreateService<IHistoricCaseInstanceRestService>(),\n                DecisionInstanceApi = CreateService<IHistoricDecisionInstanceRestService>(),\n                DetailApi = CreateService<IHistoricDetailRestService>(),\n                IncidentApi = CreateService<IHistoricIncidentRestService>(),\n                JobLogApi = CreateService<IHistoricJobLogRestService>(),\n                ProcessInstanceApi = CreateService<IHistoricProcessInstanceRestService>(),\n                VariableInstanceApi = CreateService<IHistoricVariableInstanceRestService>(),\n                UserTaskApi = CreateService<IHistoricUserTaskRestService>(),\n                ProcessDefinitionApi = CreateService<IHistoricProcessDefinitionRestService>(),\n                ExternalTaskLogApi = CreateService<IHistoricExternalTaskLogRestService>(),\n            };\n        }\n\n        private Lazy<I> CreateService<I>()\n        {\n            if (_httpClient != null)\n                return new Lazy<I>(() => RestService.For<I>(_httpClient, _refitSettings));\n            else\n                return new Lazy<I>(() => RestService.For<I>(_hostUrl, _refitSettings));\n        }\n\n        public static CamundaClient Create(string hostUrl)\n        {\n            return new CamundaClient(hostUrl);\n        }\n\n        public static CamundaClient Create(string hostUrl, HttpMessageHandler httpMessageHandler)\n        {\n            return new CamundaClient(hostUrl, httpMessageHandler);\n        }\n\n        public static CamundaClient Create(HttpClient httpClient)\n        {\n            return new CamundaClient(httpClient);\n        }\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/case-definition/\"/>\n        public CaseDefinitionService CaseDefinitions => new CaseDefinitionService(_caseDefinitionRestService.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/case-execution/\"/>\n        public CaseExecutionService CaseExecutions => new CaseExecutionService(_caseExecutionRestService.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/case-instance/\"/>\n        public CaseInstanceService CaseInstances => new CaseInstanceService(_caseInstanceRestService.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/decision-definition/\"/>\n        public DecisionDefinitionService DecisionDefinitions => new DecisionDefinitionService(_decisionDefinitionRestService.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/deployment/\"/>\n        public DeploymentService Deployments => new DeploymentService(_deploymentApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/execution/\"/>\n        public ExecutionService Executions => new ExecutionService(_executionApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/external-task/\"/>\n        public ExternalTaskService ExternalTasks => new ExternalTaskService(_externalTaskApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/group/\"/>\n        public GroupService Group => new GroupService(_groupApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/history/\"/>\n        public HistoryService History => new HistoryService(_historicApi);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/incident/\"/>\n        public IncidentService Incidents => new IncidentService(_incidentApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/job-definition/\"/>\n        public JobDefinitionService JobDefinitions => new JobDefinitionService(_jobDefinitionApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/job/\"/>\n        public JobService Jobs => new JobService(_jobApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/message/\"/>\n        public MessageService Messages => new MessageService(_messageApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.13/reference/rest/migration/\"/>\n        public MigrationService Migrations => new MigrationService(_migrationRestService.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/process-definition/\"/>\n        public ProcessDefinitionService ProcessDefinitions => new ProcessDefinitionService(_processDefinitionApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/process-instance/\"/>\n        public ProcessInstanceService ProcessInstances => new ProcessInstanceService(_processInstanceApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/signal/\"/>\n        public SignalService Signals => new SignalService(_signalApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/task/\"/>\n        public TenantService Tenants => new TenantService(_tenantApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/tenant/\"/>\n        public UserService Users => new UserService(_userApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/user/\"/>\n        public UserTaskService UserTasks => new UserTaskService(_userTaskApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/variable-instance/\"/>\n        public VariableInstanceService VariableInstances => new VariableInstanceService(_variableInstanceApi.Value);\n\n        /// <see href=\"https://docs.camunda.org/manual/7.9/reference/rest/filter/\"/>\n        public FilterService Filters => new FilterService(_filterApi.Value);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionDiagram.cs",
    "content": "﻿namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionDiagram\n    {\n        /// <summary>\n        /// The id of the case definition.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// An escaped XML string containing the XML that this case definition was deployed with. Carriage returns, line feeds and quotation marks are escaped.\n        /// </summary>\n        public string CmmnXml;\n\n        public override string ToString() => Id;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionInfo.cs",
    "content": "namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionInfo\n    {\n        /// <summary>\n        /// The id of the case definition.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The category of the case definition.\n        /// </summary>\n        public string Category;\n\n        /// <summary>\n        /// The deployment id of the case definition.\n        /// </summary>\n        public string DeploymentId;\n\n        /// <summary>\n        /// History time to live value of the case definition. Is used within LINK.\n        /// </summary>\n        public int HistoryTimeToLive;\n\n        /// <summary>\n        /// The key of the case definition, i.e., the id of the CMMN XML case definition.\n        /// </summary>\n        public string Key;\n\n        /// <summary>\n        /// The name of the case definition.\n        /// </summary>\n        public string Name;\n\n        /// <summary>\n        /// The file name of the case definition.\n        /// </summary>\n        public string Resource;\n\n        /// <summary>\n        /// The tenant id of the case definition.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// The version of the case definition that the engine assigned to it.\n        /// </summary>\n        public int Version;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by case definition id.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// Filter by case definition ids.\n        /// </summary>\n        [JsonProperty(\"caseDefinitionIdIn\")]\n        public List<string> CaseDefinitionIds = new List<string>();\n\n        /// <summary>\n        /// Filter by case definition name.\n        /// </summary>\n        public string Name;\n\n        /// <summary>\n        /// Filter by case definition names that the parameter is a substring of.\n        /// </summary>\n        public string NameLike;\n\n        /// <summary>\n        /// Filter by the deployment the id belongs to.\n        /// </summary>\n        public string DeploymentId;\n\n        /// <summary>\n        /// Filter by case definition key, i.e., the id in the CMMN XML.Exact match.\n        /// </summary>\n        public string Key;\n\n        /// <summary>\n        /// Filter by case definition keys that the parameter is a substring of.\n        /// </summary>\n        public string KeyLike;\n\n        /// <summary>\n        /// Filter by case definition category. Exact match.\n        /// </summary>\n        public string Category;\n\n        /// <summary>\n        /// Filter by case definition categories that the parameter is a substring of.\n        /// </summary>\n        public string CategoryLike;\n\n        /// <summary>\n        /// Filter by case definition version.\n        /// </summary>\n        public int? Version;\n\n        /// <summary>\n        /// Only include those case definitions that are latest versions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool LatestVersion = false;\n\n        /// <summary>\n        /// Filter by the name of the case definition resource. Exact match.\n        /// </summary>\n        public string ResourceName;\n\n        /// <summary>\n        /// Filter by names of those case definition resources that the parameter is a substring of.\n        /// </summary>\n        public string ResourceNameLike;\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A case definition must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n\n        /// <summary>\n        /// Only include case definitions which belong to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId = false;\n\n        /// <summary>\n        /// Include case definitions which belong to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.\n        /// </summary>\n        [JsonProperty(\"includeCaseDefinitionsWithoutTenantId\")]\n        public bool IncludeDefinitionsWithoutTenantId = false;\n\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter.\n        /// </summary>\n        public CaseDefinitionQuerySorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum CaseDefinitionQuerySorting\n    {\n        Category,\n        Key,\n        Id,\n        Name,\n        Version,\n        DeploymentId,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResource.cs",
    "content": "﻿using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public abstract class CaseDefinitionResource\n    {\n        /// <summary>\n        /// Retrieves a case definition according to the CaseDefinition interface in the engine.\n        /// </summary>\n        public abstract Task<CaseDefinitionInfo> Get();\n\n        /// <summary>\n        /// Retrieves the CMMN XML of a case definition.\n        /// </summary>\n        public abstract Task<CaseDefinitionDiagram> GetXml();\n\n        /// <summary>\n        /// Retrieves the diagram of a case definition.\n        /// </summary>\n        /// <returns></returns>\n        public abstract Task<HttpContent> GetDiagram();\n\n        /// <summary>\n        /// Instantiates a given case definition. Case variables and business key may be supplied in the request body.\n        /// </summary>\n        public abstract Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters);\n\n        // TODO: Update history time to live\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceById.cs",
    "content": "﻿using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionResourceById : CaseDefinitionResource\n    {\n        private ICaseDefinitionRestService _api;\n        private string _caseDefinitionId;\n\n        internal CaseDefinitionResourceById(ICaseDefinitionRestService api, string caseDefinitionId)\n        {\n            _api = api;\n            _caseDefinitionId = caseDefinitionId;\n        }\n\n        public override Task<CaseDefinitionInfo> Get() => _api.GetById(_caseDefinitionId);\n\n        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlById(_caseDefinitionId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramById(_caseDefinitionId)).Content;\n\n        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceById(_caseDefinitionId, parameters);\n\n        public override string ToString() => _caseDefinitionId;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKey.cs",
    "content": "﻿using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionResourceByKey : CaseDefinitionResource\n    {\n        private ICaseDefinitionRestService _api;\n        private string _caseDefinitionKey;\n\n        internal CaseDefinitionResourceByKey(ICaseDefinitionRestService api, string caseDefinitionKey)\n        {\n            _api = api;\n            _caseDefinitionKey = caseDefinitionKey;\n        }\n\n        public override Task<CaseDefinitionInfo> Get() => _api.GetByKey(_caseDefinitionKey);\n\n        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByKey(_caseDefinitionKey);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKey(_caseDefinitionKey)).Content;\n\n        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceByKey(_caseDefinitionKey, parameters);\n\n        public override string ToString() => _caseDefinitionKey;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionResourceByKeyAndTenantId.cs",
    "content": "﻿using Camunda.Api.Client.CaseInstance;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionResourceByKeyAndTenantId : CaseDefinitionResource\n    {\n        private ICaseDefinitionRestService _api;\n        private string _caseDefinitionKey, _tenantId;\n\n        internal CaseDefinitionResourceByKeyAndTenantId(ICaseDefinitionRestService api, string caseDefinitionKey, string tenantId)\n        {\n            _api = api;\n            _caseDefinitionKey = caseDefinitionKey;\n            _tenantId = tenantId;\n        }\n\n        public override Task<CaseDefinitionInfo> Get() => _api.GetByKeyAndTenantId(_caseDefinitionKey, _tenantId);\n\n        public override Task<CaseDefinitionDiagram> GetXml() => _api.GetXmlByKeyAndTenantId(_caseDefinitionKey, _tenantId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKeyAndTenantId(_caseDefinitionKey, _tenantId)).Content;\n\n        public override Task<CaseInstanceInfo> CreateCaseInstance(CreateCaseInstance parameters) => _api.CreateCaseInstanceByKeyAndTenantId(_caseDefinitionKey, _tenantId, parameters);\n\n        public override string ToString() => _caseDefinitionKey;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CaseDefinitionService.cs",
    "content": "﻿namespace Camunda.Api.Client.CaseDefinition\n{\n    public class CaseDefinitionService\n    {\n        private ICaseDefinitionRestService _api;\n\n        internal CaseDefinitionService(ICaseDefinitionRestService api) { _api = api; }\n\n        public CaseDefinitionResource this[string caseDefinitionId] => new CaseDefinitionResourceById(_api, caseDefinitionId);\n\n        public CaseDefinitionResource ByKey(string caseDefinitionKey) => new CaseDefinitionResourceByKey(_api, caseDefinitionKey);\n\n        public CaseDefinitionResource ByKey(string caseDefinitionKey, string tenantId) => new CaseDefinitionResourceByKeyAndTenantId(_api, caseDefinitionKey, tenantId);\n\n        public QueryResource<CaseDefinitionQuery, CaseDefinitionInfo> Query(CaseDefinitionQuery query = null) =>\n            new QueryResource<CaseDefinitionQuery, CaseDefinitionInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/CreateCaseInstance.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    public class CreateCaseInstance\n    {\n        /// <summary>\n        /// Object containing the variables the case is to be initialized with. Each key corresponds to a variable name and each value to a variable value.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        /// <summary>\n        /// The business key the case instance is to be initialized with. The business key uniquely identifies the case instance in the context of the given case definition.\n        /// </summary>\n        public string BusinessKey;\n\n        public CreateCaseInstance SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseDefinition/ICaseDefinitionRestService.cs",
    "content": "﻿using Camunda.Api.Client.CaseInstance;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseDefinition\n{\n    internal interface ICaseDefinitionRestService\n    {\n        [Get(\"/case-definition\")]\n        Task<List<CaseDefinitionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n        [Get(\"/case-definition/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n\n        [Get(\"/case-definition/{id}\")]\n        Task<CaseDefinitionInfo> GetById(string id);\n        [Get(\"/case-definition/key/{key}\")]\n        Task<CaseDefinitionInfo> GetByKey(string key);\n        [Get(\"/case-definition/key/{key}/tenant-id/{tenantId}\")]\n        Task<CaseDefinitionInfo> GetByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/case-definition/{id}/xml\")]\n        Task<CaseDefinitionDiagram> GetXmlById(string id);\n        [Get(\"/case-definition/key/{key}/xml\")]\n        Task<CaseDefinitionDiagram> GetXmlByKey(string key);\n        [Get(\"/case-definition/key/{key}/tenant-id/{tenantId}/xml\")]\n        Task<CaseDefinitionDiagram> GetXmlByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/case-definition/{id}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramById(string id);\n        [Get(\"/case-definition/key/{key}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKey(string key);\n        [Get(\"/case-definition/key/{key}/tenant-id/{tenantId}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKeyAndTenantId(string key, string tenantId);\n\n\n        [Post(\"/case-definition/{id}/create\")]\n        Task<CaseInstanceInfo> CreateCaseInstanceById(string id, [Body] CreateCaseInstance parameters);\n        [Post(\"/case-definition/key/{key}/create\")]\n        Task<CaseInstanceInfo> CreateCaseInstanceByKey(string key, [Body] CreateCaseInstance parameters);\n        [Post(\"/case-definition/key/{key}/tenant-id/{tenantId}/create\")]\n        Task<CaseInstanceInfo> CreateCaseInstanceByKeyAndTenantId(string key, string tenantId, [Body] CreateCaseInstance parameters);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionComplete.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionComplete\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        // TODO: deletions\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionDisable.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionDisable\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        // TODO: deletions\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionInfo.cs",
    "content": "namespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionInfo\n    {\n        /// <summary>\n        /// The id of the case execution.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is active or not.\n        /// </summary>\n        public bool Active;\n\n        /// <summary>\n        /// The description of the activity this case execution belongs to.\n        /// </summary>\n        public string ActivityDescription;\n\n        /// <summary>\n        /// The id of the activity this case execution belongs to.\n        /// </summary>\n        public string ActivityId;\n\n        /// <summary>\n        /// The name of the activity this case execution belongs to.\n        /// </summary>\n        public string ActivityName;\n\n        /// <summary>\n        /// The type of the activity this case execution belongs to.\n        /// </summary>\n        public string ActivityType;\n\n        /// <summary>\n        /// The id of the case definition this case execution belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// The id of the case instance this case execution belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is disabled or not.\n        /// </summary>\n        public bool Disabled;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is enabled or not.\n        /// </summary>\n        public bool Enabled;\n\n        /// <summary>\n        /// The id of the parent of this case execution belongs to.\n        /// </summary>\n        public string ParentId;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is repeatable or not.\n        /// </summary>\n        public bool Repeatable;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is a repetition or not.\n        /// </summary>\n        public bool Repetition;\n\n        /// <summary>\n        /// A flag indicating whether the case execution is required or not.\n        /// </summary>\n        public bool Required;\n\n        /// <summary>\n        /// The tenant id of the case execution.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by a case execution id.\n        /// </summary>\n        public string CaseExecutionId;\n\n        /// <summary>\n        /// Filter by a case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// Filter by the business key of the case instances the case executions belong to.\n        /// </summary>\n        public string BusinessKey;\n\n        /// <summary>\n        /// Filter by the case definition the case executions run on.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// Filter by the key of the case definition the case executions run on.\n        /// </summary>\n        public string CaseDefinitionKey;\n\n        /// <summary>\n        /// Filter by the id of the activity the case execution currently executes.\n        /// </summary>\n        public string ActivityId;\n\n        /// <summary>\n        /// Only include required case executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Required;\n\n        /// <summary>\n        /// Only include repeatable case executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Repeatable;\n\n        /// <summary>\n        /// Only include case executions which are repetitions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Repetition;\n\n        /// <summary>\n        /// Only include active case executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Active;\n\n        /// <summary>\n        /// Only include enabled case executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Enabled;\n\n        /// <summary>\n        /// Only include disabled case executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Disabled;\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A case execution must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter.\n        /// </summary>\n        public CaseExecutionQuerySorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum CaseExecutionQuerySorting\n    {\n        CaseExecutionId,\n        CaseDefinitionKey,\n        CaseDefinitionId,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionReEnable.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionReEnable\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        // TODO: deletions\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionResource\n    {\n        private ICaseExecutionRestService _api;\n        private string _caseExecutionId;\n\n        internal CaseExecutionResource(ICaseExecutionRestService api, string caseExecutionId)\n        {\n            _api = api;\n            _caseExecutionId = caseExecutionId;\n        }\n\n        // TODO: Variables, LocalVariables\n\n\n        /// <summary>\n        /// Retrieves a case execution by id, according to the CaseExecution interface in the engine.\n        /// </summary>\n        public Task<CaseExecutionInfo> Get() => _api.Get(_caseExecutionId);\n\n        /// <summary>\n        /// Performs a transition from ENABLED state to ACTIVE state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        public Task Start(CaseExecutionStart start) => _api.StartExecution(_caseExecutionId, start);\n\n        /// <summary>\n        /// Performs a transition from ACTIVE state to COMPLETED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        public Task Complete(CaseExecutionComplete complete) => _api.CompleteExecution(_caseExecutionId, complete);\n\n        /// <summary>\n        /// Performs a transition from ENABLED state to DISABLED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        public Task Disable(CaseExecutionDisable disable) => _api.DisableExecution(_caseExecutionId, disable);\n\n        /// <summary>\n        /// Performs a transition from DISABLED state to ENABLED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        public Task ReEnable(CaseExecutionReEnable reEnable) => _api.ReEnableExecution(_caseExecutionId, reEnable);\n\n        /// <summary>\n        /// Performs a transition from ACTIVE state to TERMINATED state if the execution belongs to a task or a stage and performs a transition from AVAILABLE state to TERMINATED state if the execution belongs to a milestone. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        public Task Terminate(CaseExecutionTerminate terminate) => _api.TerminateExecution(_caseExecutionId, terminate);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionService.cs",
    "content": "﻿namespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionService\n    {\n        private ICaseExecutionRestService _api;\n\n        internal CaseExecutionService(ICaseExecutionRestService api)\n        {\n            _api = api;\n        }\n\n        public CaseExecutionResource this[string caseExecutionId] => new CaseExecutionResource(_api, caseExecutionId);\n\n        public QueryResource<CaseExecutionQuery, CaseExecutionInfo> Query(CaseExecutionQuery query = null) =>\n            new QueryResource<CaseExecutionQuery, CaseExecutionInfo>(\n                query,\n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionStart.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionStart\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        // TODO: deletions\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/CaseExecutionTerminate.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    public class CaseExecutionTerminate\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        // TODO: deletions\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseExecution/ICaseExecutionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseExecution\n{\n    internal interface ICaseExecutionRestService\n    {\n        [Get(\"/case-execution\")]\n        Task<List<CaseExecutionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n        [Get(\"/case-execution/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/case-execution/{id}\")]\n        Task<CaseExecutionInfo> Get(string id);\n\n        [Post(\"/case-execution/{id}/manual-start\")]\n        Task StartExecution(string id, [Body]CaseExecutionStart start);\n\n        [Post(\"/case-execution/{id}/complete\")]\n        Task CompleteExecution(string id, [Body]CaseExecutionComplete complete);\n\n        [Post(\"/case-execution/{id}/disable\")]\n        Task DisableExecution(string id, [Body]CaseExecutionDisable disable);\n\n        [Post(\"/case-execution/{id}/reenable\")]\n        Task ReEnableExecution(string id, [Body]CaseExecutionReEnable reenable);\n\n        [Post(\"/case-execution/{id}/terminate\")]\n        Task TerminateExecution(string id, [Body]CaseExecutionTerminate terminate);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceDeleteVariable.cs",
    "content": "﻿#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceDeleteVariable\n    {\n        [JsonProperty(\"name\")]\n        public string Name;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceInfo.cs",
    "content": "namespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceInfo\n    {\n        /// <summary>\n        /// The id of the case instance.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// A flag indicating whether the case instance is active or not.\n        /// </summary>\n        public bool Active;\n\n        /// <summary>\n        /// The business key of the case instance.\n        /// </summary>\n        public string BusinessKey;\n\n        /// <summary>\n        /// The id of the case definition that this case instance belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// A flag indicating whether the case instance is completed or not.\n        /// </summary>\n        public bool Completed;\n\n        /// <summary>\n        /// The tenant id of the case instance.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceQuery.cs",
    "content": "﻿#region Usings\n\nusing System.Collections.Generic;\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceQuery\n    {\n        [JsonProperty(\"caseInstanceId\")]\n        public string CaseInstanceId;\n\n        [JsonProperty(\"businessKey\")]\n        public string BusinessKey;\n\n        [JsonProperty(\"caseDefinitionId\")]\n        public string CaseDefinitionId;\n\n        [JsonProperty(\"caseDefinitionKey\")]\n        public string CaseDefinitionKey;\n\n        [JsonProperty(\"deploymentId\")]\n        public string DeploymentId;\n\n        [JsonProperty(\"superProcessInstance\")]\n        public string SuperProcessInstance;\n\n        [JsonProperty(\"subProcessInstance\")]\n        public string SubProcessInstance;\n\n        [JsonProperty(\"superCaseInstance\")]\n        public string SuperCaseInstance;\n\n        [JsonProperty(\"subCaseInstance\")]\n        public string SubCaseInstance;\n\n        [JsonProperty(\"active\")]\n        public bool? Active;\n\n        [JsonProperty(\"completed\")]\n        public bool? Completed;\n\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIdIn;\n\n        [JsonProperty(\"withoutTenantId\")]\n        public bool? WithoutTenantId;\n\n        [JsonProperty(\"variables\")]\n        public List<CaseInstanceQueryVariable> Variables;\n\n        [JsonProperty(\"variableNamesIgnoreCase\")]\n        public bool VariableNamesIgnoreCase;\n\n        [JsonProperty(\"variableValuesIgnoreCase\")]\n        public bool VariableValuesIgnoreCase;\n\n        [JsonProperty(\"sorting\")]\n        public List<CaseInstanceSorting> Sorting;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceQueryVariable.cs",
    "content": "﻿#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceQueryVariable\n    {\n        [JsonProperty(\"name\")]\n        public string Name;\n\n        [JsonProperty(\"operator\")]\n        public ConditionOperator Operator;\n\n        [JsonProperty(\"value\")] \n        public object Value;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceResource.cs",
    "content": "﻿#region Usings\n\nusing System.Collections.Generic;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceResource\n    {\n        private string _caseInstanceId;\n        private ICaseInstanceRestService _api;\n\n        internal CaseInstanceResource(ICaseInstanceRestService api, string caseInstanceId)\n        {\n            _api = api;\n            _caseInstanceId = caseInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a case instance by id, according to the CaseInstance interface in the engine.\n        /// </summary>\n        /// <returns>corresponding case instance basis info</returns>\n        public Task<CaseInstanceInfo> Get() => _api.Get(_caseInstanceId);\n\n        /// <summary>\n        /// Performs a transition from ACTIVE state to COMPLETED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        /// <param name=\"completeCaseInstanceState\">contains variables to delete or update</param>\n        /// <returns></returns>\n        public Task Complete(ChangeCaseInstanceState completeCaseInstanceState) =>\n            _api.Complete(_caseInstanceId, completeCaseInstanceState);\n\n        /// <summary>\n        /// Performs a transition from COMPLETED state to CLOSED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        /// <param name=\"closeCaseInstanceState\">contains variables to delete or update</param>\n        /// <returns></returns>\n        public Task Close(ChangeCaseInstanceState closeCaseInstanceState) =>\n            _api.Close(_caseInstanceId, closeCaseInstanceState);\n\n        /// <summary>\n        /// Performs a transition from ACTIVE state to TERMINATED state. In relation to the state transition, it is possible to update or delete case instance variables (please note: deletion precedes update).\n        /// </summary>\n        /// <param name=\"terminateCaseInstanceState\">contains variables to delete or update</param>\n        /// <returns></returns>\n        public Task Terminate(ChangeCaseInstanceState terminateCaseInstanceState) =>\n            _api.Terminate(_caseInstanceId, terminateCaseInstanceState);\n\n\n        public VariableResource Variables => new VariableResource(_api, _caseInstanceId);\n\n        public override string ToString() => _caseInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceService\n    {\n        private ICaseInstanceRestService _api;\n\n        internal CaseInstanceService(ICaseInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<CaseInstanceQuery, CaseInstanceInfo> Query(CaseInstanceQuery query = null) =>\n            new QueryResource<CaseInstanceQuery, CaseInstanceInfo>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"caseInstanceId\">Id of specific case instance</param>\n        public CaseInstanceResource this[string caseInstanceId] => new CaseInstanceResource(_api, caseInstanceId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceSorting.cs",
    "content": "﻿namespace Camunda.Api.Client.CaseInstance\n{\n    public enum CaseInstanceSorting\n    {\n        CaseInstanceId,\n        CaseDefinitionKey,\n        CaseDefinitionId,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/CaseInstanceVariableValue.cs",
    "content": "﻿#region Usings\n\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class CaseInstanceVariableValue : VariableValue\n    {\n        [JsonProperty(\"local\")]\n        public bool Local;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/ChangeCaseInstanceState.cs",
    "content": "﻿#region Usings\n\nusing System.Collections.Generic;\nusing Newtonsoft.Json;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class ChangeCaseInstanceState\n    {\n        [JsonProperty(\"variables\")]\n        public Dictionary<string, CaseInstanceVariableValue> Variables;\n\n        [JsonProperty(\"deletions\")]\n        public List<CaseInstanceDeleteVariable> Deletions;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/ICaseInstanceRestService.cs",
    "content": "﻿#region Usings\n\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Refit;\n\n#endregion\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    internal interface ICaseInstanceRestService\n    {\n        [Get(\"/case-instance/{id}/variables\")]\n        Task<Dictionary<string, VariableValue>> GetVariables(string id, bool? deserializeValues);\n\n        [Get(\"/case-instance/{id}/variables/{varName}\")]\n        Task<VariableValue> GetVariableValue(string id, string varName, bool? deserializeValue);\n\n        // TODO: check if HttpWebResponse is indeed the correct return type\n        [Get(\"/case-instance/{id}/variables/{varName}/data\")]\n        Task<HttpResponseMessage> GetBinaryVariable(string id, string varName);\n\n        [Post(\"/case-instance/{id}/variables\")]\n        Task ModifyVariables(string id, [Body] PatchVariables patch);\n\n        [Put(\"/case-instance/{id}/variables/{varName}\")]\n        Task UpdateVariable(string id, string varName, [Body] VariableValue value);\n\n        [Post(\"/case-instance/{id}/variables/{varName}/data\")]\n        Task SetBinaryVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);\n\n        [Delete(\"/case-instance/{id}/variables/{varName}\")]\n        Task DeleteVariable(string id, string varName);\n\n        [Get(\"/case-instance/{id}\")]\n        Task<CaseInstanceInfo> Get(string id);\n\n        [Post(\"/case-instance\")]\n        Task<List<CaseInstanceInfo>> GetList([Body] CaseInstanceQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/case-instance/count\")]\n        Task<CountResult> GetListCount([Body] CaseInstanceQuery query);\n\n        [Post(\"/case-instance/{id}/complete\")]\n        Task Complete(string id, [Body] ChangeCaseInstanceState completeCaseInstance);\n\n        [Post(\"/case-instance/{id}/close\")]\n        Task Close(string id, [Body] ChangeCaseInstanceState closeCaseInstance);\n\n        [Post(\"/case-instance/{id}/terminate\")]\n        Task Terminate(string id, [Body] ChangeCaseInstanceState terminateCaseInstance);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CaseInstance/VariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.CaseInstance\n{\n    public class VariableResource : IVariableResource\n    {\n        private string _caseInstanceId;\n        private ICaseInstanceRestService _api;\n\n        internal VariableResource(ICaseInstanceRestService api, string caseInstanceId)\n        {\n            _api = api;\n            _caseInstanceId = caseInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves all variables of a given case instance.\n        /// </summary>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetVariables(_caseInstanceId, deserializeValues);\n        /// <summary>\n        /// Retrieves a variable from the context of a given case instance.\n        /// </summary>\n        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetVariableValue(_caseInstanceId, variableName, deserializeValue);\n        /// <summary>\n        /// Retrieves a binary variable from the context of a given case instance. Applicable for byte array and file variables.\n        /// </summary>\n        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryVariable(_caseInstanceId, variableName)).Content;\n        /// <summary>\n        /// Sets a variable in the context of a given case instance.\n        /// </summary>\n        public Task Set(string variableName, VariableValue variable) => _api.UpdateVariable(_caseInstanceId, variableName, variable);\n        /// <summary>\n        /// Sets the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryVariable(_caseInstanceId, variableName, data, new ValueTypeContent(valueType.ToString()));\n        /// <summary>\n        /// Removes a variable from a case instance.\n        /// </summary>\n        public Task Delete(string variableName) => _api.DeleteVariable(_caseInstanceId, variableName);\n        /// <summary>\n        /// Updates or deletes the variables in the context of a case instance. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.\n        /// </summary>\n        public Task Modify(PatchVariables patch) => _api.ModifyVariables(_caseInstanceId, patch);\n\n        public override string ToString() => _caseInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ConditionQueryParameter.cs",
    "content": "﻿using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client\n{\n    public class ConditionQueryParameter\n    {\n        /// <summary>\n        /// Comparison operator to be used.\n        /// </summary>\n        public ConditionOperator Operator;\n\n        /// <summary>\n        /// Value may be String, Number or Boolean\n        /// </summary>\n        public object Value;\n    }\n\n    public enum ConditionOperator\n    {\n        [EnumMember(Value = \"eq\")]\n        Equals,\n        [EnumMember(Value = \"neq\")]\n        NotEquals,\n        [EnumMember(Value = \"gt\")]\n        GreaterThan,\n        [EnumMember(Value = \"gteq\")]\n        GreaterThanOrEquals,\n        [EnumMember(Value = \"lt\")]\n        LessThan,\n        [EnumMember(Value = \"lteq\")]\n        LessThanOrEquals,\n        [EnumMember(Value = \"like\")]\n        Like\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/CountResult.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    internal class CountResult\n    {\n        /// <summary>\n        /// The number of matching items.\n        /// </summary>\n        public int Count = 0;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/DateTimeExtensions.cs",
    "content": "﻿using System;\nusing System.Globalization;\nusing System.Runtime.CompilerServices;\n\n[assembly: InternalsVisibleTo(\"Camunda.Api.Client.Tests,PublicKey=\" +\n\"00240000048000009400000006020000002400005253413100040000010001004196a3758b909b\" +\n\"46774069391580d90f2078e831d76f42a00c3d584321fd9b394b12d3a46eab643bc339f526d1d9\" +\n\"5f7450cfd7a0a0316ce2eea145b9d9013f6b677aac1333d94007c79c33e2804af6a749c732ac45\" +\n\"90f17f078d33445a25c45598f744f0774d2c3d82e2a8b0309203be7e3d0b719f7825d4ded4577b\" +\n\"435db7ae\")]\nnamespace Camunda.Api.Client\n{\n    internal static class DateTimeExtensions\n    {\n        const string _dateTimeFormat = \"yyyy-MM-ddTHH':'mm':'ss.fff\";\n\n        public static string ToJavaISO8601(this DateTime dateTime)\n        {\n            if (dateTime.Kind == DateTimeKind.Unspecified) // treat unspecified time as local time\n                dateTime = new DateTime(dateTime.Ticks, DateTimeKind.Local);\n            return dateTime.ToString(_dateTimeFormat, CultureInfo.InvariantCulture)\n                + dateTime.ToString(\"%K\").Replace(\":\", \"\").Replace(\"Z\", \"+0000\");\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionDiagram.cs",
    "content": "﻿namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionDiagram\n    {\n        /// <summary>\n        /// The id of the decision definition.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// An escaped XML string containing the XML that this decision definition was deployed with. Carriage returns, line feeds and quotation marks are escaped.\n        /// </summary>\n        public string DmnXml;\n\n        public override string ToString() => Id;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionInfo.cs",
    "content": "namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionInfo\n    {\n        /// <summary>\n        /// The id of the decision definition.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The category of the decision definition.\n        /// </summary>\n        public string Category;\n\n        /// <summary>\n        /// The id of the decision requirements definition this decision definition belongs to.\n        /// </summary>\n        public string DecisionRequirementsDefinitionId;\n\n        /// <summary>\n        /// The key of the decision requirements definition this decision definition belongs to.\n        /// </summary>\n        public string DecisionRequirementsDefinitionKey;\n\n        /// <summary>\n        /// The deployment id of the decision definition.\n        /// </summary>\n        public string DeploymentId;\n\n        /// <summary>\n        /// History time to live value of the decision definition. Is used within LINK.\n        /// </summary>\n        public int HistoryTimeToLive;\n\n        /// <summary>\n        /// The key of the decision definition, i.e., the id of the DMN 1.0 XML decision definition.\n        /// </summary>\n        public string Key;\n\n        /// <summary>\n        /// The name of the decision definition.\n        /// </summary>\n        public string Name;\n\n        /// <summary>\n        /// The file name of the decision definition.\n        /// </summary>\n        public string Resource;\n\n        /// <summary>\n        /// The tenant id of the decision definition.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// The version of the decision definition that the engine assigned to it.\n        /// </summary>\n        public int Version;\n\n        /// <summary>\n        /// The version tag of the decision or null when no version tag is set\n        /// </summary>\n        public string VersionTag;\n\n        /// <summary>\n        /// Filter by the version tag that the parameter is a substring of.\n        /// </summary>\n        public string VersionTagLike;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by decision definition id.\n        /// </summary>\n        public string DecisionDefinitionId;\n\n        /// <summary>\n        /// Filter by decision definition ids.\n        /// </summary>\n        [JsonProperty(\"decisionDefinitionIdIn\")]\n        public List<string> DecisionDefinitionIds = new List<string>();\n\n        /// <summary>\n        /// Filter by decision definition name.\n        /// </summary>\n        public string Name;\n\n        /// <summary>\n        /// Filter by decision definition names that the parameter is a substring of.\n        /// </summary>\n        public string NameLike;\n\n        /// <summary>\n        /// Filter by the deployment the id belongs to.\n        /// </summary>\n        public string DeploymentId;\n\n        /// <summary>\n        /// Filter by decision definition key, i.e.the id in the DMN 1.0 XML.Exact match.\n        /// </summary>\n        public string Key;\n\n        /// <summary>\n        /// Filter by decision definition keys that the parameter is a substring of.\n        /// </summary>\n        public string KeyLike;\n\n        /// <summary>\n        /// Filter by decision definition category. Exact match.\n        /// </summary>\n        public string Category;\n\n        /// <summary>\n        /// Filter by decision definition categories that the parameter is a substring of.\n        /// </summary>\n        public string CategoryLike;\n\n        /// <summary>\n        /// Filter by decision definition version.\n        /// </summary>\n        public int? Version;\n\n        /// <summary>\n        /// Only include those decision definitions that are latest versions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool LatestVersion = false;\n\n        /// <summary>\n        /// Filter by the name of the decision definition resource. Exact match.\n        /// </summary>\n        public string ResourceName;\n\n        /// <summary>\n        /// Filter by names of those decision definition resources that the parameter is a substring of.\n        /// </summary>\n        public string ResourceNameLike;\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids.A decision definition must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n\n        /// <summary>\n        /// Only include decision definitions which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId = false;\n\n        /// <summary>\n        /// Include decision definitions which belongs to no tenant.Can be used in combination with tenantIdIn.Value may only be true, as false is the default behavior.\n        /// </summary>\n        [JsonProperty(\"includeDecisionDefinitionsWithoutTenantId\")]\n        public bool IncludeDefinitionsWithoutTenantId = false;\n\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion.Valid values are category, key, id, name, version, deploymentId and tenantId.Must be used in conjunction with the sortOrder parameter.\n        /// </summary>\n        public DecisionDefinitionSorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order.Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum DecisionDefinitionSorting\n    {\n        Category,\n        Key,\n        Id,\n        Name,\n        Version,\n        DeploymentId,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public abstract class DecisionDefinitionResource\n    {\n        /// <summary>\n        /// Retrieves a single decision definition according to the DecisionDefinition interface in the engine.\n        /// </summary>\n        public abstract Task<DecisionDefinitionInfo> Get();\n\n        /// <summary>\n        /// Retrieves the DMN XML of this decision definition.\n        /// </summary>\n        public abstract Task<DecisionDefinitionDiagram> GetXml();\n\n        /// <summary>\n        /// Retrieves the diagram of a decision definition.\n        /// </summary>\n        public abstract Task<HttpContent> GetDiagram();\n\n        /// <summary>\n        /// Evaluates a given decision and returns the result. The input values of the decision have to be supplied in the request body.\n        /// </summary>\n        public abstract Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceById.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionResourceById : DecisionDefinitionResource\n    {\n        private IDecisionDefinitionRestService _api;\n        private string _decisionDefinitionId;\n\n        internal DecisionDefinitionResourceById(IDecisionDefinitionRestService api, string decisionDefinitionId)\n        {\n            _api = api;\n            _decisionDefinitionId = decisionDefinitionId;\n        }\n\n        public override Task<DecisionDefinitionInfo> Get() => _api.GetById(_decisionDefinitionId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramById(_decisionDefinitionId)).Content;\n\n        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlById(_decisionDefinitionId);\n\n        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateById(_decisionDefinitionId, parameters);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKey.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionResourceByKey : DecisionDefinitionResource\n    {\n        private IDecisionDefinitionRestService _api;\n        private string _decisionDefinitionKey;\n\n        internal DecisionDefinitionResourceByKey(IDecisionDefinitionRestService api, string decisionDefinitionKey)\n        {\n            _api = api;\n            _decisionDefinitionKey = decisionDefinitionKey;\n        }\n\n        public override Task<DecisionDefinitionInfo> Get() => _api.GetByKey(_decisionDefinitionKey);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKey(_decisionDefinitionKey)).Content;\n\n        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlByKey(_decisionDefinitionKey);\n\n        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateByKey(_decisionDefinitionKey, parameters);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionResourceByKeyAndTenantId.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionResourceByKeyAndTenantId : DecisionDefinitionResource\n    {\n        private IDecisionDefinitionRestService _api;\n        private string _decisionDefinitionKey, _tenantId;\n\n        internal DecisionDefinitionResourceByKeyAndTenantId(IDecisionDefinitionRestService api, string decisionDefinitionKey, string tenantId)\n        {\n            _api = api;\n            _decisionDefinitionKey = decisionDefinitionKey;\n            _tenantId = tenantId;\n        }\n\n        public override Task<DecisionDefinitionInfo> Get() => _api.GetByKeyAndTenantId(_decisionDefinitionKey, _tenantId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKeyAndTenantId(_decisionDefinitionKey, _tenantId)).Content;\n\n        public override Task<DecisionDefinitionDiagram> GetXml() => _api.GetXmlByKeyAndTenantId(_decisionDefinitionKey, _tenantId);\n\n        public override Task<List<Dictionary<string, VariableValue>>> Evaluate(EvaluateDecision parameters) => _api.EvaluateByKeyAndTenantId(_decisionDefinitionKey, _tenantId, parameters);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/DecisionDefinitionService.cs",
    "content": "﻿namespace Camunda.Api.Client.DecisionDefinition\n{\n    public class DecisionDefinitionService\n    {\n        private IDecisionDefinitionRestService _api;\n\n        internal DecisionDefinitionService(IDecisionDefinitionRestService api)\n        {\n            _api = api;\n        }\n\n        public DecisionDefinitionResource this[string decisionDefinitionId] => new DecisionDefinitionResourceById(_api, decisionDefinitionId);\n\n        public DecisionDefinitionResource ByKey(string decisionDefinitionKey) => new DecisionDefinitionResourceByKey(_api, decisionDefinitionKey);\n\n        public DecisionDefinitionResource ByKey(string decisionDefinitionKey, string tenantId) => new DecisionDefinitionResourceByKeyAndTenantId(_api, decisionDefinitionKey, tenantId);\n\n        public QueryResource<DecisionDefinitionQuery, DecisionDefinitionInfo> Query(\n            DecisionDefinitionQuery query = null) =>\n            new QueryResource<DecisionDefinitionQuery, DecisionDefinitionInfo>(\n                query,\n                (q, f, m) => _api.GetList(q, f, m), \n                q => _api.GetListCount(q));\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/EvaluateDecision.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    public class EvaluateDecision\n    {\n        /// <summary>\n        /// Object containing the variables the decision is to be evaluated with. Each key corresponds to a variable name and each value to a variable value.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        public EvaluateDecision SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/DecisionDefinition/IDecisionDefinitionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.DecisionDefinition\n{\n    internal interface IDecisionDefinitionRestService\n    {\n        [Get(\"/decision-definition\")]\n        Task<List<DecisionDefinitionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/decision-definition/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n\n        [Get(\"/decision-definition/{id}\")]\n        Task<DecisionDefinitionInfo> GetById(string id);\n        [Get(\"/decision-definition/key/{key}\")]\n        Task<DecisionDefinitionInfo> GetByKey(string key);\n        [Get(\"/decision-definition/key/{key}/tenant-id/{tenantId}\")]\n        Task<DecisionDefinitionInfo> GetByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/decision-definition/{id}/xml\")]\n        Task<DecisionDefinitionDiagram> GetXmlById(string id);\n        [Get(\"/decision-definition/key/{key}/xml\")]\n        Task<DecisionDefinitionDiagram> GetXmlByKey(string key);\n        [Get(\"/decision-definition/key/{key}/tenant-id/{tenantId}/xml\")]\n        Task<DecisionDefinitionDiagram> GetXmlByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/decision-definition/{id}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramById(string id);\n        [Get(\"/decision-definition/key/{key}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKey(string key);\n        [Get(\"/decision-definition/key/{key}/tenant-id/{tenantId}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKeyAndTenantId(string key, string tenantId);\n\n\n        [Post(\"/decision-definition/{id}/evaluate\")]\n        Task<List<Dictionary<string, VariableValue>>> EvaluateById(string id, [Body] EvaluateDecision parameters);\n        [Post(\"/decision-definition/key/{key}/evaluate\")]\n        Task<List<Dictionary<string, VariableValue>>> EvaluateByKey(string key, [Body] EvaluateDecision parameters);\n        [Post(\"/decision-definition/key/{key}/tenant-id/{tenantId}/evaluate\")]\n        Task<List<Dictionary<string, VariableValue>>> EvaluateByKeyAndTenantId(string key, string tenantId, [Body] EvaluateDecision parameters);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentInfo\n    {\n        /// <summary>\n        /// The id of the deployment.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The name of the deployment.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// The source of the deployment.\n        /// </summary>\n        public string Source;\n        /// <summary>\n        /// The time when the deployment was created.\n        /// </summary>\n        public DateTime DeploymentTime;\n        /// <summary>\n        /// The tenant id of the deployment.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Name ?? Id;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by deployment id.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// Filter by the deployment name. Exact match.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// Filter by the deployment name that the parameter is a substring of. The parameter can include the wildcard % to express like-strategy such as: starts with (%name), ends with (name%) or contains (%name%).\n        /// </summary>\n        public string NameLike;\n        /// <summary>\n        /// Filter by the deployment source.\n        /// </summary>\n        public string Source;\n        /// <summary>\n        /// Filter by the deployment source whereby source is equal to null.\n        /// </summary>\n        public bool WithoutSource;\n        /// <summary>\n        /// Restricts to all deployments before the given date.\n        /// </summary>\n        public DateTime? Before;\n        /// <summary>\n        /// Restricts to all deployments after the given date.\n        /// </summary>\n        public DateTime? After;\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A deployment must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include deployments which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId;\n        /// <summary>\n        /// Include deployments which belongs to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool IncludeDeploymentsWithoutTenantId;\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter.\n        /// </summary>\n        public DeploymentSorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/> parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum DeploymentSorting\n    {\n        Id,\n        Name,\n        DeploymentTime,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentResource\n    {\n        private IDeploymentRestService _api;\n        private string _deploymentId;\n\n        internal DeploymentResource(IDeploymentRestService api, string deploymentId)\n        {\n            _api = api;\n            _deploymentId = deploymentId;\n        }\n\n        /// <summary>\n        /// Retrieves a single deployment by id.\n        /// </summary>\n        public Task<DeploymentInfo> Get() => _api.Get(_deploymentId);\n\n        public DeploymentResourcesResource Resources => new DeploymentResourcesResource(_api, _deploymentId);\n\n        /// <summary>\n        /// Re-deploy an existing deployment.\n        /// </summary>\n        /// <remarks>\n        /// The deployment resources to re-deploy can be restricted by using the properties resourceIds or resourceNames. \n        /// If no deployment resources to re-deploy are passed then all existing resources of the given deployment are re-deployed.\n        /// </remarks>\n        public Task<DeploymentInfo> Redeploy(RedeploymentInfo redeployment) => _api.Redeploy(_deploymentId, redeployment);\n\n        /// <summary>\n        /// // Deletes a deployment.\n        /// </summary>\n        /// <param name=\"cascade\">true, if all process instances, historic process instances and jobs for this deployment should be deleted.</param>\n        /// <param name=\"skipCustomListeners\">true, if only the built-in ExecutionListeners should be notified with the end event.</param>\n        /// <param name=\"skipIoMappings\">true, if all input/output mappings should not be invoked.</param>\n        public Task Delete(bool cascade = false, bool skipCustomListeners = false, bool skipIoMappings = false) => _api.Delete(_deploymentId, \n            cascade, skipCustomListeners, skipIoMappings);\n\n        public override string ToString() => _deploymentId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResourceInfo.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentResourceInfo\n    {\n        /// <summary>\n        /// The id of the deployment resource.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The name of the deployment resource.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// The id of the deployment.\n        /// </summary>\n        public string DeploymentId;\n\n        public override string ToString() => Name ?? Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentResourcesResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentResourcesResource\n    {\n        private IDeploymentRestService _api;\n        private string _deploymentId;\n\n        internal DeploymentResourcesResource(IDeploymentRestService api, string deploymentId)\n        {\n            _api = api;\n            _deploymentId = deploymentId;\n        }\n\n        /// <summary>\n        /// Retrieves all deployment resources of a given deployment.\n        /// </summary>\n        public Task<List<DeploymentResourceInfo>> GetAll() => _api.GetDeploymentResources(_deploymentId);\n\n        /// <summary>\n        /// Retrieves a single deployment resource by resource id for the given deployment.\n        /// </summary>\n        public Task<DeploymentResourceInfo> Get(string resourceId) => _api.GetDeploymentResource(_deploymentId, resourceId);\n\n        /// <summary>\n        /// Retrieves the binary content of a single deployment resource for the given deployment.\n        /// </summary>\n        public async Task<HttpContent> GetData(string resourceId) => (await _api.GetDeploymentResourceData(_deploymentId, resourceId)).Content;\n\n        public override string ToString() => _deploymentId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/DeploymentService.cs",
    "content": "﻿using System.Linq;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class DeploymentService\n    {\n        private IDeploymentRestService _api;\n\n        internal DeploymentService(IDeploymentRestService api) { _api = api; }\n\n        public DeploymentResource this[string deploymentId] => new DeploymentResource(_api, deploymentId);\n\n        public QueryResource<DeploymentQuery, DeploymentInfo> Query(DeploymentQuery query = null) =>\n            new QueryResource<DeploymentQuery, DeploymentInfo>(\n                query,\n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        /// <summary>\n        /// Create a deployment.\n        /// </summary>\n        /// <remarks>\n        /// Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. \n        /// This may be abused for remote execution of arbitrary code. See the section on security considerations for custom code in the user guide for details.\n        /// </remarks>\n        /// <param name=\"deploymentName\">The name for the deployment to be created.</param>\n        /// <param name=\"resources\">The binary data to create the deployment resource. It is possible to have more than one form part with different form part names for the binary data to create a deployment.</param>\n        /// <param name=\"changedOnly\">A flag indicating whether the process engine should perform duplicate checking on a per-resource basis. If set to true, only those resources that have actually changed are deployed. Checks are made against resources included previous deployments of the same name and only against the latest versions of those resources. If set to true, the option duplicateFiltering is overridden and set to true.</param>\n        /// <param name=\"deploymentSource\">The source for the deployment to be created.</param>\n        /// <param name=\"duplicateFiltering\">A flag indicating whether the process engine should perform duplicate checking for the deployment or not. This allows you to check if a deployment with the same name and the same resouces already exists and if true, not create a new deployment but instead return the existing deployment. The default value is false.</param>\n        /// <param name=\"tenantId\">The tenant id for the deployment to be created.</param>\n        public Task<DeploymentInfo> Create(string deploymentName, bool duplicateFiltering, bool changedOnly, string deploymentSource, string tenantId = null,\n            params ResourceDataContent[] resources) => _api.Create(\n                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent(\"deployment-name\", deploymentName)),\n                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent(\"enable-duplicate-filtering\", duplicateFiltering.ToString().ToLower())),\n                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent(\"deploy-changed-only\", changedOnly.ToString().ToLower())),\n                new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent(\"deployment-source\", deploymentSource ?? \"undefined\")),\n                tenantId == null ? null : new HttpContentMultipartItem<PlainTextContent>(new PlainTextContent(\"tenant-id\", tenantId)),\n                resources.Select(r => new HttpContentMultipartItem<ResourceDataContent>(r)).ToArray());\n\n\n        /// <summary>\n        /// Create a deployment.\n        /// </summary>\n        /// <remarks>\n        /// Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. \n        /// This may be abused for remote execution of arbitrary code. See the section on security considerations for custom code in the user guide for details.\n        /// </remarks>\n        /// <param name=\"deploymentName\">The name for the deployment to be created.</param>\n        /// <param name=\"resources\">The binary data to create the deployment resource. It is possible to have more than one form part with different form part names for the binary data to create a deployment.</param>\n        public Task<DeploymentInfo> Create(string deploymentName, \n            params ResourceDataContent[] resources) =>\n                Create(deploymentName, false, false, null, null, resources);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/IDeploymentRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    internal interface IDeploymentRestService\n    {\n        [Get(\"/deployment\")]\n        Task<List<DeploymentInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/deployment/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/deployment/{id}\")]\n        Task<DeploymentInfo> Get(string id);\n\n        [Post(\"/deployment/{id}/redeploy\")]\n        Task<DeploymentInfo> Redeploy(string id, [Body] RedeploymentInfo redeployment);\n\n        [Delete(\"/deployment/{id}\")]\n        Task Delete(string id, bool cascade, bool skipCustomListeners, bool skipIoMappings);\n\n        [Get(\"/deployment/{deploymentId}/resources\")]\n        Task<List<DeploymentResourceInfo>> GetDeploymentResources(string deploymentId);\n\n        [Get(\"/deployment/{deploymentId}/resources/{resourceId}\")]\n        Task<DeploymentResourceInfo> GetDeploymentResource(string deploymentId, string resourceId);\n\n        [Get(\"/deployment/{deploymentId}/resources/{resourceId}/data\")]\n        Task<HttpResponseMessage> GetDeploymentResourceData(string deploymentId, string resourceId);\n\n        [Post(\"/deployment/create\"), Multipart]\n        Task<DeploymentInfo> Create(HttpContentMultipartItem<PlainTextContent> deploymentName, HttpContentMultipartItem<PlainTextContent> enableDuplicateFiltering,\n            HttpContentMultipartItem<PlainTextContent> deployChangedOnly, HttpContentMultipartItem<PlainTextContent> deploymentSource,\n            HttpContentMultipartItem<PlainTextContent> tenantId, params HttpContentMultipartItem<ResourceDataContent>[] resources);\n\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/RedeploymentInfo.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class RedeploymentInfo\n    {\n        /// <summary>\n        /// Sets the source of the deployment.\n        /// </summary>\n        public string Source;\n        /// <summary>\n        /// A list of deployment resource ids to re-deploy.\n        /// </summary>\n        public List<string> ResourceIds = new List<string>();\n        /// <summary>\n        /// A list of deployment resource names to re-deploy.\n        /// </summary>\n        public List<string> ResourceNames = new List<string>();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Deployment/ResourceDataContent.cs",
    "content": "﻿using Iana;\nusing System;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client.Deployment\n{\n    public class ResourceDataContent : StreamContent\n    {\n        /// <param name=\"stream\">The binary data to create the deployment resource.</param>\n        /// <param name=\"fileName\">The name of the file.</param>\n        public ResourceDataContent(Stream stream, string fileName ) : base(stream)\n        {\n            Headers.ContentDisposition = new ContentDispositionHeaderValue(\"form-data\") { FileName = fileName, Name = \"data-\" + Guid.NewGuid().ToString(\"D\") };\n            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Application.OctetStream);\n            Headers.Add(\"Content-Transfer-Encoding\", \"binary\");\n        }\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/EnumerableExtensions.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public static class EnumerableExtensions\n    {\n        public static Dictionary<string, VariableValue> Set(this Dictionary<string, VariableValue> variables, string name, object value)\n        {\n            var varVal = value as VariableValue;\n\n            if (varVal == null)\n                varVal = VariableValue.FromObject(value);\n\n            variables[name] = varVal;\n\n            return variables;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ErrorMessageHandler.cs",
    "content": "﻿using Iana;\nusing Newtonsoft.Json;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client\n{\n    public class ErrorMessageHandler : DelegatingHandler\n    {\n        public ErrorMessageHandler(HttpMessageHandler innerHandler) : base(innerHandler)\n        {\n        }\n\n        public ErrorMessageHandler() : base(new HttpClientHandler())\n        {\n        }\n\n        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n        {\n            var response = await base.SendAsync(request, cancellationToken);\n\n            if (response.IsSuccessStatusCode == false && \n                response.Content?.Headers?.ContentType?.MediaType?.Equals(MediaTypes.Application.Json) == true)\n            {\n                RestError err = null;\n                string json = null;\n                try\n                {\n                    json = await response.Content.ReadAsStringAsync();\n                    err = JsonConvert.DeserializeObject<RestError>(json);\n                }\n                catch\n                {\n                    // we are currently handling exception, don't throw another one during deserialization\n                }\n\n                if (err?.Type != null)\n                {\n                    var ex = ApiException.FromRestError(err, response);\n                    \n                    // fill additional exception properties\n                    JsonConvert.PopulateObject(json, ex); \n\n                    throw ex;\n                }\n            }\n\n            return response;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/EventSubscription.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class EventSubscription\n    {\n        /// <summary>\n        /// The identifier of the event subscription.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The type of the event. message for message events.\n        /// </summary>\n        public string EventType;\n        /// <summary>\n        /// The name of the event the subscription belongs to, as defined in the process model.\n        /// </summary>\n        public string EventName;\n        /// <summary>\n        /// The id of the execution the subscription belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the process instance the subscription belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the activity that the event subscription belongs to. Corresponds to the id in the process model.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The time the subscription was created by the engine.\n        /// </summary>\n        public DateTime CreatedDate;\n        /// <summary>\n        /// The id of the tenant the subscription belongs to.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/EventSubscriptionResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class EventSubscriptionResource\n    {\n        private string _executionId;\n        private IExecutionRestService _api;\n        private string _messageName;\n\n        internal EventSubscriptionResource(IExecutionRestService api, string executionId, string messageName)\n        {\n            _api = api;\n            _executionId = executionId;\n            _messageName = messageName;\n        }\n\n        /// <summary>\n        /// Get a message event subscription for a specific execution and a message name.\n        /// </summary>\n        public Task<EventSubscription> Get() => _api.GetMessageEventSubscription(_executionId, _messageName);\n\n        /// <summary>\n        /// Deliver a message to a specific execution to trigger an existing message event subscription. Inject process variables as the message’s payload.\n        /// </summary>\n        public Task Trigger(ExecutionTrigger trigger) => _api.TriggerMessageEventSubscription(_executionId, _messageName, trigger);\n\n        public override string ToString() => _executionId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.Execution\n{\n    public class ExecutionInfo\n    {\n        /// <summary>\n        /// The id of the execution.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the process instance that this execution instance belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// A flag indicating whether the execution has ended or not.\n        /// </summary>\n        public bool Ended;\n        /// <summary>\n        /// The tenant id of the execution.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class ExecutionQuery : SortableQuery<ExecutionSorting, ExecutionQuery>\n    {\n        /// <summary>\n        /// Filter by the key of the process definition the executions run on.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Filter by the business key of the process instances the executions belong to.\n        /// </summary>\n        public string BusinessKey;\n        /// <summary>\n        /// Filter by the process definition the executions run on.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Filter by the id of the process instance the execution belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by the id of the activity the execution currently executes.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Select only those executions that expect a signal of the given name.\n        /// </summary>\n        public string SignalEventSubscriptionName;\n        /// <summary>\n        /// Select only those executions that expect a message of the given name.\n        /// </summary>\n        public string MessageEventSubscriptionName;\n        /// <summary>\n        /// Only include active executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Active;\n        /// <summary>\n        /// Only include suspended executions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// Filter by the incident id.\n        /// </summary>\n        public string IncidentId;\n        /// <summary>\n        /// Filter by the incident type.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// Filter by the incident message. Exact match.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// Filter by the incident message that the parameter is a substring of.\n        /// </summary>\n        public string IncidentMessageLike;\n        /// <summary>\n        /// Filter by a list of tenant ids. An execution must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n\n        /// <summary>\n        /// Array to only include executions that have variables with certain values. \n        /// The array consists of objects with the three properties key, operator and value.key(String) is the variable name, operator (String) is the comparison operator to be used and value the variable value.\n        /// Value may be String, Number or Boolean.\n        /// </summary>\n        public List<VariableQueryParameter> Variables = new List<VariableQueryParameter>();\n\n        /// <summary>\n        /// Array to only include executions that belong to a process instance with variables with certain values. \n        /// A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.\n        /// </summary>\n        /// <remarks>Values are always treated as String objects on server side.</remarks>\n        public List<VariableQueryParameter> ProcessVariables = new List<VariableQueryParameter>();\n    }\n\n    public enum ExecutionSorting\n    {\n        InstanceId,\n        DefinitionKey,\n        DefinitionId,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class ExecutionResource\n    {\n        private IExecutionRestService _api;\n        private string _executionId;\n\n        internal ExecutionResource(IExecutionRestService api, string executionId)\n        {\n            _api = api;\n            _executionId = executionId;\n        }\n\n        public LocalVariableResource LocalVariables => new LocalVariableResource(_api, _executionId);\n\n        /// <summary>\n        /// Retrieves a single execution according to the Execution interface in the engine.\n        /// </summary>\n        public Task<ExecutionInfo> Get() => _api.Get(_executionId);\n        /// <summary>\n        /// Signals a single execution. Can for example be used to explicitly skip user tasks or signal asynchronous continuations.\n        /// </summary>\n        public Task Trigger(ExecutionTrigger trigger) => _api.TriggerExecution(_executionId, trigger);\n\n        public EventSubscriptionResource GetMessageEventSubscription(string messageName) => new EventSubscriptionResource(_api, _executionId, messageName);\n\n        public override string ToString() => _executionId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionService.cs",
    "content": "﻿namespace Camunda.Api.Client.Execution\n{\n    public class ExecutionService\n    {\n        private IExecutionRestService _api;\n\n        internal ExecutionService(IExecutionRestService api)\n        {\n            _api = api;\n        }\n\n        public ExecutionResource this[string executionId] => new ExecutionResource(_api, executionId);\n\n        public QueryResource<ExecutionQuery, ExecutionInfo> Query(ExecutionQuery query = null) =>\n            new QueryResource<ExecutionQuery, ExecutionInfo>(query, _api.GetList, _api.GetListCount);\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/ExecutionTrigger.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class ExecutionTrigger\n    {\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/IExecutionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    internal interface IExecutionRestService\n    {\n        [Post(\"/execution\")]\n        Task<List<ExecutionInfo>> GetList([Body] ExecutionQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/execution/count\")]\n        Task<CountResult> GetListCount([Body] ExecutionQuery query);\n\n        [Get(\"/execution/{id}\")]\n        Task<ExecutionInfo> Get(string id);\n\n        [Get(\"/execution/{id}/messageSubscriptions/{messageName}\")]\n        Task<EventSubscription> GetMessageEventSubscription(string id, string messageName);\n\n        [Post(\"/execution/{id}/messageSubscriptions/{messageName}/trigger\")]\n        Task TriggerMessageEventSubscription(string id, string messageName, [Body] ExecutionTrigger trigger);\n\n        [Post(\"/execution/{id}/signal\")]\n        Task TriggerExecution(string id, [Body] ExecutionTrigger trigger);\n\n        #region Local Variables\n\n        [Delete(\"/execution/{id}/localVariables/{varName}\")]\n        Task DeleteLocalVariable(string id, string varName);\n\n        [Get(\"/execution/{id}/localVariables/{varName}\")]\n        Task<VariableValue> GetLocalVariable(string id, string varName, bool deserializeValue = true);\n\n        [Get(\"/execution/{id}/localVariables\")]\n        Task<Dictionary<string, VariableValue>> GetLocalVariables(string id, bool deserializeValues = true);\n\n        [Get(\"/execution/{id}/localVariables/{varName}/data\")]\n        Task<HttpResponseMessage> GetBinaryLocalVariable(string id, string varName);\n\n        [Post(\"/execution/{id}/localVariables/{varName}/data\"), Multipart]\n        Task SetBinaryLocalVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);\n\n        [Post(\"/execution/{id}/localVariables\")]\n        Task ModifyLocalVariables(string id, PatchVariables patch);\n\n        [Put(\"/execution/{id}/localVariables/{varName}\")]\n        Task PutLocalVariable(string id, string varName, [Body] VariableValue variable);\n\n        #endregion\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Execution/LocalVariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Execution\n{\n    public class LocalVariableResource : IVariableResource\n    {\n        private string _executionId;\n        private IExecutionRestService _api;\n\n        internal LocalVariableResource(IExecutionRestService api, string executionId)\n        {\n            _api = api;\n            _executionId = executionId;\n        }\n\n        /// <summary>\n        /// Retrieves all variables of a given execution.\n        /// </summary>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetLocalVariables(_executionId, deserializeValues);\n        /// <summary>\n        /// Retrieves a variable from the context of a given execution. Does not traverse the parent execution hierarchy.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to get.</param>\n        /// <param name=\"deserializeValue\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetLocalVariable(_executionId, variableName, deserializeValue);\n        /// <summary>\n        /// Retrieves a binary variable from the context of a given execution. Does not traverse the parent execution hierarchy. Applicable for byte array and file variables.\n        /// </summary>\n        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryLocalVariable(_executionId, variableName)).Content;\n        /// <summary>\n        /// Sets a variable in the context of a given execution. Update does not propagate upwards in the execution hierarchy.\n        /// </summary>\n        public Task Set(string variableName, VariableValue variable) => _api.PutLocalVariable(_executionId, variableName, variable);\n        /// <summary>\n        /// Sets the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryLocalVariable(_executionId, variableName, data, new ValueTypeContent(valueType.ToString()));\n        /// <summary>\n        /// Deletes a variable in the context of a given execution. Deletion does not propagate upwards in the execution hierarchy.\n        /// </summary>\n        public Task Delete(string variableName) => _api.DeleteLocalVariable(_executionId, variableName);\n        /// <summary>\n        /// Updates or deletes the variables in the context of an execution. The updates do not propagate upwards in the execution hierarchy. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.\n        /// </summary>\n        public Task Modify(PatchVariables patch) => _api.ModifyLocalVariables(_executionId, patch);\n\n        public override string ToString() => _executionId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/CompleteExternalTask.cs",
    "content": "using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class CompleteExternalTask\n    {\n        /// <summary>\n        /// The id of the worker that completes the task. Must match the id of the worker who has most recently locked the task.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// Dictionary containing variable key-value pairs.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables;\n\n        /// <summary>\n        /// Dictionary containing variable key-value pairs. Local variables are set only in the scope of external task.\n        /// </summary>\n        public Dictionary<string, VariableValue> LocalVariables;\n\n        public CompleteExternalTask SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n\n        /// <summary>\n        /// Local variables are set only in the scope of external task.\n        /// </summary>\n        public CompleteExternalTask SetLocalVariable(string name, object value)\n        {\n            LocalVariables = (LocalVariables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskBpmnError.cs",
    "content": "\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskBpmnError\n    {\n        /// <summary>\n        /// The id of the worker that reports the failure. Must match the id of the worker who has most recently locked the task.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// A error code that indicates the predefined error. Is used to identify the BPMN error handler.\n        /// </summary>\n        public string ErrorCode;\n\n        /// <summary>\n        /// An error message that describes the error.\n        /// </summary>\n        public string ErrorMessage;\n\n        /// <summary>\n        /// Object containing variable key-value pairs.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables;\n\n        public ExternalTaskBpmnError SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n\n        public override string ToString() => ErrorCode;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskExtendLock.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskExtendLock\n    {\n        /// <summary>\n        /// The ID of a worker who is locking the external task.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// An amount of time (in milliseconds) to extend the lock by.\n        /// </summary>\n        public long NewDuration;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskFailure.cs",
    "content": "\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskFailure\n    {\n        /// <summary>\n        /// The id of the worker that reports the failure. Must match the id of the worker who has most recently locked the task.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// An message indicating the reason of the failure.\n        /// </summary>\n        public string ErrorMessage;\n\n        /// <summary>\n        /// A detailed error description.\n        /// </summary>\n        public string ErrorDetails;\n\n        /// <summary>\n        /// A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0.\n        /// </summary>\n        public long RetryTimeout;\n\n        /// <summary>\n        /// A number of how often the task should be retried. Must be >= 0. If this is 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again. The incident's message is set to the errorMessage parameter.\n        /// </summary>\n        public int Retries;\n\n        public override string ToString() => ErrorMessage;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskInfo.cs",
    "content": "using System;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskInfo\n    {\n        /// <summary>\n        /// The id of the activity that this external task belongs to.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The id of the activity instance that the external task belongs to.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// The error message that was supplied when the last failure of this task was reported.\n        /// </summary>\n        public string ErrorMessage;\n        /// <summary>\n        /// The error details submitted with the latest reported failure executing this task.\n        /// <c>null</c> if no failure was reported previously or if no error details was submitted.\n        /// </summary>\n        public string ErrorDetails;\n        /// <summary>\n        /// The id of the execution that the external task belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The external task's id.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The date that the task's most recent lock expires or has expired.\n        /// </summary>\n        public DateTime? LockExpirationTime;\n        /// <summary>\n        /// The id of the process definition the external task is defined in.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition the external task is defined in.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the process instance the external task belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The number of retries the task currently has left.\n        /// </summary>\n        public int? Retries;\n        /// <summary>\n        /// A flag indicating whether the external task is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The id of the worker that posesses or posessed the most recent lock.\n        /// </summary>\n        public string WorkerId;\n        /// <summary>\n        /// The external task's topic name.\n        /// </summary>\n        public string TopicName;\n        /// <summary>\n        /// The business key of the process instance the external task belongs to.\n        /// </summary>\n        public string BusinessKey;\n        /// <summary>\n        /// The id of the tenant the external task belongs to.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The priority of the external task.\n        /// </summary>\n        public long Priority;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskQuery.cs",
    "content": "using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskQuery : SortableQuery<ExternalTaskSorting, ExternalTaskQuery>\n    {\n        /// <summary>\n        /// Filter by an external task's id.\n        /// </summary>\n        public string ExternalTaskId;\n        /// <summary>\n        /// Filter by the id of the activity that an external task is created for.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Restrict to external tasks that have a lock that expires before a given date.\n        /// </summary>\n        public DateTime? LockExpirationBefore;\n        /// <summary>\n        /// Restrict to external tasks that have a lock that expires after a given date.\n        /// </summary>\n        public DateTime? LockExpirationAfter;\n        /// <summary>\n        /// Filter by an external task topic.\n        /// </summary>\n        public string TopicName;\n        /// <summary>\n        /// Only include external tasks that are currently locked (i.e. they have a lock time and it has not expired). Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? Locked;\n        /// <summary>\n        /// Only include external tasks that are currently not locked (i.e. they have no lock or it has expired). Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? NotLocked;\n        /// <summary>\n        /// Filter by the id of the execution that an external task belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Filter by the id of the process instance that an external task belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by the id of the process definition that an external task belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Only include active tasks. Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? Active;\n        /// <summary>\n        /// Only include suspended tasks. Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? Suspended;\n        /// <summary>\n        /// Only include external tasks that have a positive (> 0) number of retries (or null). Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? WithRetriesLeft;\n        /// <summary>\n        /// Only include external tasks that have 0 retries. Value may only be true, as false matches any external task.\n        /// </summary>\n        public bool? NoRetriesLeft;\n        /// <summary>\n        /// Filter by the id of the worker that the task was most recently locked by.\n        /// </summary>\n        public string WorkerId;\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. An external task must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include jobs with a priority higher than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long? PriorityHigherThanOrEquals;\n        /// <summary>\n        /// Only include jobs with a priority lower than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long? PriorityLowerThanOrEquals;\n    }\n\n    public enum ExternalTaskSorting\n    {\n        Id,\n        LockExpirationTime,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        ProcessDefinitionKey,\n        TaskPriority,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskResource\n    {\n        private string _externalTaskId;\n        private IExternalTaskRestService _api;\n\n        internal ExternalTaskResource(IExternalTaskRestService api, string externalTaskId)\n        {\n            _api = api;\n            _externalTaskId = externalTaskId;\n        }\n\n        /// <summary>\n        /// Retrieves a single external task corresponding to the ExternalTask interface in the engine.\n        /// </summary>\n        public Task<ExternalTaskInfo> Get() => _api.Get(_externalTaskId);\n\n        /// <summary>\n        /// Set the number of retries left to execute an external task. If retries are set to 0, an incident is created.\n        /// </summary>\n        /// <param name=\"retries\">The number of retries to set for the external task. Must be >= 0. If this is 0, an incident is created and the task cannot be fetched anymore unless the retries are increased again.</param>\n        public Task SetRetries(int retries) => _api.SetRetries(_externalTaskId, new RetriesInfo() { Retries = retries });\n\n        /// <summary>\n        /// Set the priority of an existing external task. The default value of a priority is 0.\n        /// </summary>\n        /// <param name=\"priority\">The priority of the external task.</param>\n        public Task SetPriority(long priority) => _api.SetPriority(_externalTaskId, new PriorityInfo { Priority = priority });\n\n        /// <summary>\n        /// Complete an external task and update process variables.\n        /// </summary>\n        public Task Complete(CompleteExternalTask completeExternalTask) => _api.Complete(_externalTaskId, completeExternalTask);\n\n        /// <summary>\n        /// Report a failure to execute an external task. A number of retries and a timeout until the task can be retried can be specified. If retries are set to 0, an incident for this task is created.\n        /// </summary>\n        public Task HandleFailure(ExternalTaskFailure externalTaskFailure) => _api.HandleFailure(_externalTaskId, externalTaskFailure);\n\n        /// <summary>\n        /// Report a business error in the context of a running external task. The error code must be specified to identify the BPMN error handler.\n        /// </summary>\n        public Task HandleBpmnError(ExternalTaskBpmnError externalTaskBpmnError) => _api.HandleBpmnError(_externalTaskId, externalTaskBpmnError);\n\n        /// <summary>\n        /// Unlock an external task. Clears the task’s lock expiration time and worker id.\n        /// </summary>\n        public Task Unlock() => _api.Unlock(_externalTaskId);\n\n        /// <summary>\n        /// Extends the timeout of the lock by a given amount of time.\n        /// </summary>\n        public Task ExtendLock(ExternalTaskExtendLock externalTaskExtendLock) => _api.ExtendLock(_externalTaskId, externalTaskExtendLock);\n\n        public override string ToString() => _externalTaskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/ExternalTaskService.cs",
    "content": "﻿\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class ExternalTaskService\n    {\n        private IExternalTaskRestService _api;\n\n        internal ExternalTaskService(IExternalTaskRestService api) { _api = api; }\n\n        public QueryResource<ExternalTaskQuery, ExternalTaskInfo> Query(ExternalTaskQuery query = null) =>\n            new QueryResource<ExternalTaskQuery, ExternalTaskInfo>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"externalTaskId\">The id of the external task to be retrieved.</param>\n        public ExternalTaskResource this[string externalTaskId] => new ExternalTaskResource(_api, externalTaskId);\n        \n        /// <summary>\n        /// Fetches and locks a specific number of external tasks for execution by a worker. Query can be restricted to specific task topics and for each task topic an individual lock time can be provided.\n        /// </summary>\n        public Task<List<LockedExternalTask>> FetchAndLock(FetchExternalTasks fetching) => _api.FetchAndLock(fetching);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/FetchExternalTaskTopic.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class FetchExternalTaskTopic\n    {\n        /// <param name=\"topicName\">The topic's name.</param>\n        /// <param name=\"lockDuration\">The duration to lock the external tasks for in milliseconds.</param>\n        public FetchExternalTaskTopic(string topicName, long lockDuration)\n        {\n            TopicName = topicName;\n            LockDuration = lockDuration;\n        }\n\n        /// <summary>\n        ///  A String value which enables the filtering of tasks based on process instance business key.\n        /// </summary>\n        public string BusinessKey;\n\n        /// <summary>\n        /// Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side (default false).\n        /// </summary>\n        public bool DeserializeValues;\n\n        /// <summary>\n        /// If true only local variables will be fetched.\n        /// </summary>\n        public bool LocalVariables;\n\n        /// <summary>\n        /// The duration to lock the external tasks for in milliseconds.\n        /// </summary>\n        public long LockDuration;\n\n        /// <summary>\n        /// Filter tasks based on process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// Filter tasks based on process definition ids.\n        /// </summary>\n        [JsonProperty(\"processDefinitionIdIn\")]\n        public List<string> ProcessDefinitionIds = new List<string>();\n\n        /// <summary>\n        /// Filter tasks based on process definition key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// Filter tasks based on process definition keys.\n        /// </summary>\n        [JsonProperty(\"processDefinitionKeyIn\")]\n        public List<string> ProcessDefinitionKeys = new List<string>();\n\n        /// <summary>\n        /// A map of variables used for filtering tasks based on process instance variable values.\n        /// </summary>\n        public Dictionary<string, object> ProcessVariables = new Dictionary<string, object>();\n\n        /// <summary>\n        /// Filter tasks based on tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n\n        /// <summary>\n        /// The topic's name\n        /// </summary>\n        public string TopicName;\n\n        /// <summary>\n        /// Array of String values that represent variable names.\n        /// For each result task belonging to this topic, the given variables are returned as well if they are accessible from the external task's execution.\n        /// </summary>\n        public List<string> Variables;\n\n        /// <summary>\n        /// Filter tasks without tenant id.\n        /// </summary>\n        public bool WithoutTenantId;\n\n        public override string ToString() => TopicName;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/FetchExternalTasks.cs",
    "content": "\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class FetchExternalTasks\n    {\n        /// <summary>\n        /// Mandatory. The maximum number of tasks to return.\n        /// </summary>\n        public int MaxTasks;\n        /// <summary>\n        /// Mandatory. The id of the worker on which behalf tasks are fetched. The returned tasks are locked for that worker and can only be completed when providing the same worker id.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// Indicates whether the task should be fetched based on its priority or arbitrarily.\n        /// </summary>\n        public bool UsePriority;\n\n        /// <summary>\n        /// The Long Polling timeout in milliseconds. The value cannot be set larger than 1.800.000 milliseconds (corresponds to 30 minutes).\n        /// </summary>\n        public long AsyncResponseTimeout;\n\n        /// <summary>\n        /// Array of topic objects for which external tasks should be fetched. The returned tasks may be arbitrarily distributed among these topics.\n        /// </summary>\n        public List<FetchExternalTaskTopic> Topics;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/IExternalTaskRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    internal interface IExternalTaskRestService\n    {\n        [Get(\"/external-task/{externalTaskId}\")]\n        Task<ExternalTaskInfo> Get(string externalTaskId);\n\n        [Post(\"/external-task\")]\n        Task<List<ExternalTaskInfo>> GetList([Body] ExternalTaskQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/external-task/count\")]\n        Task<CountResult> GetListCount([Body] ExternalTaskQuery query);\n\n        [Post(\"/external-task/fetchAndLock\")]\n        Task<List<LockedExternalTask>> FetchAndLock([Body] FetchExternalTasks fetching);\n\n        [Put(\"/external-task/{externalTaskId}/retries\")]\n        Task SetRetries(string externalTaskId, [Body] RetriesInfo retries);\n\n        [Put(\"/external-task/{externalTaskId}/priority\")]\n        Task SetPriority(string externalTaskId, [Body] PriorityInfo priority);\n\n        [Post(\"/external-task/{externalTaskId}/complete\")]\n        Task Complete(string externalTaskId, [Body] CompleteExternalTask completeExternalTask);\n\n        [Post(\"/external-task/{externalTaskId}/bpmnError\")]\n        Task HandleBpmnError(string externalTaskId, [Body] ExternalTaskBpmnError externalTaskBpmnError);\n\n        [Post(\"/external-task/{externalTaskId}/failure\")]\n        Task HandleFailure(string externalTaskId, [Body] ExternalTaskFailure externalTaskFailure);\n\n        [Post(\"/external-task/{externalTaskId}/unlock\")]\n        Task Unlock(string externalTaskId);\n\n        [Post(\"/external-task/{externalTaskId}/extendLock\")]\n        Task ExtendLock(string externalTaskId, [Body] ExternalTaskExtendLock externalTaskExtendLock);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ExternalTask/LockedExternalTask.cs",
    "content": "using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ExternalTask\n{\n    public class LockedExternalTask : ExternalTaskInfo\n    {\n        /// <summary>\n        /// Object containing a property for each of the requested variables.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterInfo\n    {\n        public class Request\n        {\n            public Request()\n            {\n                ResourceType = \"Task\";\n            }\n            \n            /// <summary>\n            /// The resource type of the filter.\n            /// </summary>\n            public string ResourceType;\n\n            /// <summary>\n            /// The name of the filter.\n            /// </summary>\n            public string Name;\n\n            /// <summary>\n            /// The user id of the owner of the filter.\n            /// </summary>\n            public string Owner;\n\n            /// <summary>\n            /// The query of the filter as a JSON object.\n            /// </summary>\n            public object Query;\n\n            /// <summary>\n            /// The properties of a filter as a JSON object.\n            /// </summary>\n            public object Properties;\n        }\n\n        public class Response\n        {\n            /// <summary>\n            ///  The id of the filter.\n            /// </summary>\n            public string Id;\n\n            /// <summary>\n            /// The resource type of the filter.\n            /// </summary>\n            public string ResourceType;\n\n            /// <summary>\n            /// The name of the filter.\n            /// </summary>\n            public string Name;\n\n            /// <summary>\n            /// The user id of the owner of the filter.\n            /// </summary>\n            public string Owner;\n\n            /// <summary>\n            /// The query of the filter as a JSON object.\n            /// </summary>\n            public object Query;\n\n            /// <summary>\n            /// The properties of a filter as a JSON object.\n            /// </summary>\n            public object Properties;\n\n            /// <summary>\n            /// The number of items matched by the filter itself.Note: Only exists if the query parameter itemCount was set to true\n            /// </summary>\n            public long? ItemCount;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterQuery : QueryParameters\n    {\n\n        /// <summary>\n        /// Filter by the id of the filter.\n        /// </summary>\n        public string FilterId;\n\n        /// <summary>\n        /// Filter by the resource type of the filter, e.g., Task.\n        /// </summary>\n        public string ResourceType;\n\n        /// <summary>\n        /// Filter by the name of the filter.\n        /// </summary>\n        public string Name;\n\n        /// <summary>\n        /// Filter by the name that the parameter is a substring of.\n        /// </summary>\n        public string NameLike;\n\n        /// <summary>\n        /// Filter by the user id of the owner of the filter.\n        /// </summary>\n        public string Owner;\n\n        /// <summary>\n        /// If set to true, each filter result will contain an itemCount property with the number of items matched by the filter itself.\n        /// </summary>\n        public bool ItemCount;\n\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter.\n        /// </summary>\n        public FilterSorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/> parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum FilterSorting\n    {\n        FilterId, \n        FirstName, \n        LastName, \n        Email\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterResource.cs",
    "content": "﻿using Camunda.Api.Client.UserTask;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterResource\n    {\n        private IFilterRestService _api;\n        private string _filterId;\n\n        internal FilterResource(IFilterRestService api, string filterId)\n        {\n            _api = api;\n            _filterId = filterId;\n        }\n\n        /// <summary>\n        /// Retrieves a single filter by id.\n        /// </summary>\n        public Task<FilterInfo.Response> Get() => _api.Get(_filterId);\n\n        /// <summary>\n        /// Updates an existing filter.\n        /// </summary>\n        /// <param name=\"filterInfo\"></param>\n        /// <returns></returns>\n        public Task Update(FilterInfo.Request filterInfo) => _api.Update(_filterId, filterInfo);\n\n        /// <summary>\n        /// Delete an existing filter.\n        /// </summary>\n        /// <returns></returns>\n        public Task Delete() => _api.Delete(_filterId);\n\n        /// <summary>\n        /// Executes the saved query of the filter by id and returns the single result.\n        /// </summary>\n        /// <returns></returns>\n        public Task<UserTaskInfo> Execute() => _api.Execute(_filterId);\n\n        /// <summary>\n        /// Executes the saved query of the filter by id and returns the result list.\n        /// </summary>\n        /// <param name=\"firstResult\"></param>\n        /// <param name=\"maxResults\"></param>\n        /// <returns></returns>\n        public Task<List<UserTaskInfo>> ExecuteList(int firstResult, int maxResults, TaskQuery query = null) => _api.ExecuteList(_filterId, firstResult, maxResults, query);\n\n        /// <summary>\n        /// Executes the saved query of the filter by id and returns the count.\n        /// </summary>\n        /// <returns></returns>\n        public async Task<int> ExecuteCount(TaskQuery query = null) => (await _api.ExecuteCount(_filterId, query)).Count;\n\n        public override string ToString() => _filterId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/FilterService.cs",
    "content": "﻿using System.Linq;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Filter\n{\n    public class FilterService\n    {\n        private IFilterRestService _api;\n\n        internal FilterService(IFilterRestService api) { _api = api; }\n\n        public FilterResource this[string filterId] => new FilterResource(_api, filterId);\n\n        public QueryResource<FilterQuery, FilterInfo.Response> Query(FilterQuery query = null) =>\n            new QueryResource<FilterQuery, FilterInfo.Response>(\n                query,\n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        /// <summary>\n        /// Creates a new filter.\n        /// </summary>\n        /// <param name=\"filterInfo\"></param>\n        /// <returns></returns>\n        public Task<FilterInfo.Response> Create(FilterInfo.Request filterInfo) => _api.Create(filterInfo);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Filter/IFilterRestService.cs",
    "content": "﻿using Camunda.Api.Client.UserTask;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Filter\n{\n    internal interface IFilterRestService\n    {\n        [Get(\"/filter\")]\n        Task<List<FilterInfo.Response>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/filter/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/filter/{id}\")]\n        Task<FilterInfo.Response> Get(string id);\n\n        [Post(\"/filter/create\")]\n        Task<FilterInfo.Response> Create([Body] FilterInfo.Request filterInfo);\n\n        [Delete(\"/filter/{id}\")]\n        Task Delete(string id);\n\n        [Put(\"/filter/{id}\")]\n        Task Update(string id, [Body] FilterInfo.Request filterInfo);\n\n        [Get(\"/filter/{id}/singleResult\")]\n        Task<UserTaskInfo> Execute(string id);\n\n        [Post(\"/filter/{id}/list\")]\n        Task<List<UserTaskInfo>> ExecuteList(string id, int firstResult, int maxResults, [Body] TaskQuery query);\n\n        [Post(\"/filter/{id}/count\")]\n        Task<CountResult> ExecuteCount(string id, [Body] TaskQuery query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.Group\n{\n    public class GroupInfo\n\t{\n\t\t/// <summary>\n\t\t/// The id of the group\n\t\t/// </summary>\n\t\tpublic string Id;\n\t\t/// <summary>\n\t\t/// The name of the group.\n\t\t/// </summary>\n\t\tpublic string Name;\n\t\t/// <summary>\n\t\t/// The type of the group.\n\t\t/// </summary>\t\n\t\tpublic string Type;\n\n\t\tpublic override string ToString() => Id;\n\t}\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupQuery.cs",
    "content": "﻿namespace Camunda.Api.Client.Group\n{\n    public class GroupQuery: QueryParameters\n\t{\n\t\t/// <summary>\n\t\t/// Filter by the id of the group.\n\t\t/// </summary>\n\t\tpublic string Id;\n\n\t\t/// <summary>\n\t\t/// Filter by the name of the group.\n\t\t/// </summary>\n\t\tpublic string Name;\n\n\t\t/// <summary>\n\t\t/// Filter by the name that the parameter is a substring of.\n\t\t/// </summary>\n\t\tpublic string NameLike;\n\n\t\t/// <summary>\n\t\t/// Filter by the type of the group.\n\t\t/// </summary>\n\t\tpublic string Type;\n\n\t\t/// <summary>\n\t\t/// Only retrieve groups which the given user id is a member of.\n\t\t/// </summary>\n\t\tpublic string Member;\n\n\t\t/// <summary>\n\t\t/// Only retrieve groups which are members of the given tenant.\n\t\t/// </summary>\n\t\tpublic string MemberOfTenant;\n\n\t\t/// <summary>\n\t\t/// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/>.\n\t\t/// </summary>\n\t\tpublic GroupSorting SortBy;\n\n\t\t/// <summary>\n\t\t/// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/>.\n\t\t/// </summary>\n\t\tpublic SortOrder SortOrder;\n\t}\n\n\tpublic enum GroupSorting\n\t{\n\t\tId,\n\t\tName,\n\t\tType\n\t}\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n    public class GroupResource\n    {\n\t\tprivate IGroupRestService _api;\n\t\tprivate string _groupId;\n\n\t\tinternal GroupResource(IGroupRestService api, string groupId)\n\t\t{\n\t\t\t_api = api;\n\t\t\t_groupId = groupId;\n\t\t}\n\n\t\t/// <summary>\n\t\t/// Retrieves a single group\n\t\t/// </summary>\n\t\tpublic Task<GroupInfo> Get() => _api.Get(_groupId);\n\n\t\t/// <summary>\n\t\t/// Updates a group.\n\t\t/// </summary>\n\t\tpublic Task Update(GroupInfo group) => _api.Update(_groupId, group);\n\n\t\t/// <summary>\n\t\t/// Deletes a group.\n\t\t/// </summary>\n\t\tpublic Task Delete() => _api.Delete(_groupId);\n\n        /// <summary>\n        /// Adds a member to a group.\n        /// </summary>\n        public Task AddMember(string userId) => _api.AddMember(_groupId, userId);\n\n        /// <summary>\n        /// Removes a member from a group.\n        /// </summary>\n        public Task RemoveMember(string userId) => _api.RemoveMember(_groupId, userId);\n\n        public override string ToString() => _groupId;\n\t}\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Group/GroupService.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n    public class GroupService\n\t{\n\t\tprivate IGroupRestService _api;\n\n\t\tinternal GroupService(IGroupRestService api)\n\t\t{\n\t\t\t_api = api;\n\t\t}\n\n        public QueryResource<GroupQuery, GroupInfo> Query(GroupQuery query = null) =>\n            new QueryResource<GroupQuery, GroupInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n\t\t/// <param name=\"groupId\">The id of the group to be retrieved.</param>\n\t\tpublic GroupResource this[string groupId] => new GroupResource(_api, groupId);\n\n\t\t/// <summary>\n\t\t/// Create a new group.\n\t\t/// </summary>\n\t\tpublic Task Create(GroupInfo group) => _api.Create(group);\n\t}\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Group/IGroupRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Group\n{\n\tinternal interface IGroupRestService\n\t{\n\t\t[Get(\"/group\")]\n\t\tTask<List<GroupInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n\t\t[Get(\"/group/count\")]\n\t\tTask<CountResult> GetListCount(QueryDictionary query);\n\n\t\t[Get(\"/group/{id}\")]\n\t\tTask<GroupInfo> Get(string id);\n\n\t\t[Post(\"/group/create\")]\n\t\tTask Create([Body] GroupInfo group);\n\n\t\t[Put(\"/group/{id}\")]\n\t\tTask Update(string id, [Body] GroupInfo group);\n\n\t\t[Delete(\"/group/{id}\")]\n\t\tTask Delete(string id);\n\n        [Put(\"/group/{id}/members/{userId}\")]\n        Task AddMember(string id, string userId);\n\n        [Delete(\"/group/{id}/members/{userId}\")]\n        Task RemoveMember(string id, string userId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/AbstractReport.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public abstract class AbstractReport : QueryParameters\n    {\n        /// <summary>\n        /// Specifies the granularity of the report.\n        /// </summary>\n        public PeriodUnit PeriodUnit;\n        /// <summary>\n        /// Specifies the type of the report to retrieve.\n        /// </summary>\n        public ReportType ReportType;\n    }\n\n    public enum PeriodUnit\n    {\n        /// <summary>\n        /// Represents a unit for a quarter of the year.\n        /// </summary>\n        [EnumMember(Value = \"quarter\")]\n        Quarter,\n\n        /// <summary>\n        /// Represents a unit for a month of the year.\n        /// </summary>\n        [EnumMember(Value = \"month\")]\n        Month\n    }\n\n    public enum ReportType\n    {\n        [EnumMember(Value = \"duration\")]\n        Duration,\n\n        [EnumMember(Value = \"count\")]\n        Count\n    }\n\n    public enum GroupBy\n    {\n        [EnumMember(Value = \"taskName\")]\n        TaskName,\n\n        [EnumMember(Value = \"processDefinition\")]\n        ProcessDefinition\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReport.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class CleanableProcessInstanceReport: CleanableProcessInstanceReportCount\n    {\n        /// <summary>\n        /// Sort the results by a given criterion. A valid value is activityId. Must be used in conjunction with the sortOrder parameter.\n        /// </summary>\n        public CleanableProcessInstanceReportSorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n\n        /// <summary>\n        /// Pagination of results. Specifies the index of the first result to return.\n        /// </summary>\n        public int? FirstResult;\n\n        /// <summary>\n        /// Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.\n        /// </summary>\n        public int? MaxResults;\n    }\n\n    public enum CleanableProcessInstanceReportSorting\n    {\n        Finished\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReportCount.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class CleanableProcessInstanceReportCount: QueryParameters\n    {\n        /// <summary>\n        /// Filter by process definition ids.Must be a comma-separated list of process definition ids.\n        /// </summary>\n        [JsonProperty(\"processDefinitionIdIn\")]\n        public List<string> ProcessDefinitionIds;\n\n        /// <summary>\n        ///  Filter by process definition keys. Must be a comma-separated list of process definition keys.\n        /// </summary>\n        [JsonProperty(\"processDefinitionKeyIn\")]\n        public List<string> ProcessDefinitionKeys;\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids.A process definition must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n\n        /// <summary>\n        ///  Only include process definitions which belong to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId;\n\n        /// <summary>\n        ///  Only include process instances which have more than zero finished instances. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Compact;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/CleanableProcessInstanceReportResult.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\n\nnamespace Camunda.Api.Client.History\n{\n    public class CleanableProcessInstanceReportResult\n    {\n        /// <summary>\n        ///  The id of the process definition.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        ///  The key of the process definition.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// The name of the process definition.\n        /// </summary>\n        public string ProcessDefinitionName;\n\n        /// <summary>\n        ///  The version of the process definition.\n        /// </summary>\n        public int ProcessDefinitionVersion;\n\n        /// <summary>\n        ///  The history time to live of the process definition.\n        /// </summary>\n        public int HistoryTimeToLive;\n\n        /// <summary>\n        ///  The count of the finished historic process instances.\n        /// </summary>\n        public int FinishedProcessInstanceCount;\n\n        /// <summary>\n        ///  The count of the cleanable historic process instances, referring to history time to live.\n        /// </summary>\n        public int CleanableProcessInstanceCount;\n\n        /// <summary>\n        ///  The tenant id of the process definition.\n        /// </summary>\n        public string TenantId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/CountReportResult.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class CountReportResult\n    {\n        /// <summary>\n        /// The task name of the task. It is only available when the groupBy-parameter is set to taskName. Else the value is null.\n        /// </summary>\n        public string TaskName;\n\n        /// <summary>\n        /// The id of the process definition\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// The key of the process definition.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// The name of the process definition.\n        /// </summary>\n        public string processDefinitionName;\n\n        /// <summary>\n        /// The number of tasks which have the given definition.\n        /// </summary>\n        public long Count;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/DeleteHistoricProcessInstances.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class DeleteHistoricProcessInstances\n    {\n        /// <summary>\n        /// A list historic process instance ids to delete.\n        /// </summary>\n        public List<string> HistoricProcessInstanceIds;\n        /// <summary>\n        /// A historic process instance query.\n        /// </summary>\n        public HistoricProcessInstanceQuery HistoricProcessInstanceQuery;\n        /// <summary>\n        /// A string with delete reason.\n        /// </summary>\n        public string DeleteReason;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/DurationReportResult.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class DurationReportResult : ReportResult\n    {\n        /// <summary>\n        /// The smallest duration in milliseconds of all completed process instances which were started in the given period.\n        /// </summary>\n        public long Minimum;\n        /// <summary>\n        /// The greatest duration in milliseconds of all completed process instances which were started in the given period.\n        /// </summary>\n        public long Maximum;\n        /// <summary>\n        /// The average duration in milliseconds of all completed process instances which were started in the given period.\n        /// </summary>\n        public long Average;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstance.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstance\n    {\n        /// <summary>\n        /// The id of the activity instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the parent activity instance, for example a sub process instance.\n        /// </summary>\n        public string ParentActivityInstanceId;\n        /// <summary>\n        /// The id of the activity that this object is an instance of.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The name of the activity that this object is an instance of.\n        /// </summary>\n        public string ActivityName;\n        /// <summary>\n        /// The type of the activity that this object is an instance of.\n        /// </summary>\n        public string ActivityType;\n        /// <summary>\n        /// The key of the process definition that this activity instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the process definition that this activity instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id of the process instance that this activity instance belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the execution that executed this activity instance.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the task that is associated to this activity instance. Is only set if the activity is a user task.\n        /// </summary>\n        public string TaskId;\n        /// <summary>\n        /// The id of the called process instance. Is only set if the activity is a call activity and the called instance a process instance.\n        /// </summary>\n        public string CalledProcessInstanceId;\n        /// <summary>\n        /// The id of the called case instance. Is only set if the activity is a call activity and the called instance a case instance.\n        /// </summary>\n        public string CalledCaseInstanceId;\n        /// <summary>\n        /// The assignee of the task that is associated to this activity instance. Is only set if the activity is a user task.\n        /// </summary>\n        public string Assignee;\n        /// <summary>\n        /// The time the instance was started. Has the format yyyy-MM-dd'T'HH:mm:ss.\n        /// </summary>\n        public DateTime StartTime;\n        /// <summary>\n        /// The time the instance ended. Has the format yyyy-MM-dd'T'HH:mm:ss.\n        /// </summary>\n        public DateTime EndTime;\n        /// <summary>\n        /// The time the instance took to finish (in milliseconds).\n        /// </summary>\n        public long DurationInMillis;\n        /// <summary>\n        /// If true, this activity instance is canceled.\n        /// </summary>\n        public bool Canceled;\n        /// <summary>\n        /// If true, this activity instance did complete a BPMN 2.0 scope.\n        /// </summary>\n        public bool CompleteScope;\n        /// <summary>\n        /// The tenant id of the activity instance.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstanceQuery : SortableQuery<HistoricActivityInstanceQuerySorting, HistoricActivityInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by activity instance id.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Filter by the id of the execution that executed the activity instance.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Filter by the activity id (according to BPMN 2.0 XML).\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Filter by the activity name (according to BPMN 2.0 XML).\n        /// </summary>\n        public string ActivityName;\n        /// <summary>\n        /// Filter by activity type.\n        /// </summary>\n        public string ActivityType;\n        /// <summary>\n        /// Only include activity instances that are user tasks and assigned to a given user.\n        /// </summary>\n        public string TaskAssignee;\n        /// <summary>\n        /// Only include finished activity instances.\n        /// </summary>\n        public bool Finished;\n        /// <summary>\n        /// Only include unfinished activity instances. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Unfinished;\n        /// <summary>\n        /// Only include activity instances which completed a scope. \n        /// </summary>\n        public bool CompleteScope;\n        /// <summary>\n        /// Only include canceled activity instances. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Canceled;\n        /// <summary>\n        /// Restrict to instances that were started before the given date.\n        /// </summary>\n        public DateTime? StartedBefore;\n        /// <summary>\n        /// Restrict to instances that were started after the given date.\n        /// </summary>\n        public DateTime? StartedAfter;\n        /// <summary>\n        /// Restrict to instances that were finished before the given date.\n        /// </summary>\n        public DateTime? FinishedBefore;\n        /// <summary>\n        /// Restrict to instances that were finished after the given date.\n        /// </summary>\n        public DateTime? FinishedAfter;\n        /// <summary>\n        /// Filter by a list of tenant ids. An activity instance must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n    }\n\n    public enum HistoricActivityInstanceQuerySorting\n    {\n        ActivityInstanceId,\n        InstanceId,\n        ExecutionId,\n        ActivityId,\n        ActivityName,\n        ActivityType,\n        StartTime,\n        EndTime,\n        Duration,\n        DefinitionId,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstanceResource\n    {\n        private IHistoricActivityInstanceRestService _api;\n        private string _activityInstanceId;\n\n        internal HistoricActivityInstanceResource(IHistoricActivityInstanceRestService api, string activityInstanceId)\n        {\n            _api = api;\n            _activityInstanceId = activityInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic activity instance by id, according to the <see cref=\"HistoricActivityInstance\"/> interface in the engine.\n        /// </summary>\n        public Task<HistoricActivityInstance> Get() => _api.Get(_activityInstanceId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricActivityInstanceService\n    {\n        private IHistoricActivityInstanceRestService _api;\n\n        internal HistoricActivityInstanceService(IHistoricActivityInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricActivityInstanceQuery, HistoricActivityInstance> Query(\n            HistoricActivityInstanceQuery query = null) =>\n            new QueryResource<HistoricActivityInstanceQuery, HistoricActivityInstance>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"activityInstanceId\">The id of the historic activity instance to be retrieved.</param>\n        public HistoricActivityInstanceResource this[string activityInstanceId] => new HistoricActivityInstanceResource(_api, activityInstanceId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityStatistics.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricActivityStatistics : QueryParameters\n    {\n        /// <summary>\n        /// Whether to include the number of canceled activity instances in the result or not. Valid values are true or false. Default: false.\n        /// </summary>\n        public bool Canceled;\n\n        /// <summary>\n        /// Whether to include the number of finished activity instances in the result or not. Valid values are true or false. Default: false.\n        /// </summary>\n        public bool Finished;\n\n        /// <summary>\n        /// Whether to include the number of activity instances which completed a scope in the result or not. Valid values are true or false. Default: false.\n        /// </summary>\n        public bool CompleteScope;\n\n        /// <summary>\n        /// Whether to include the number of incidents. Valid values are true or false. Default: false.\n        /// </summary>\n        public bool Incidents;\n\n        /// <summary>\n        /// Restrict to instances that were started before the given date.\n        /// </summary>\n        public DateTime? StartedBefore;\n\n        /// <summary>\n        /// Restrict to instances that were started after the given date.\n        /// </summary>\n        public DateTime? StartedAfter;\n\n        /// <summary>\n        /// Restrict to instances that were finished before the given date.\n        /// </summary>\n        public DateTime? FinishedBefore;\n\n        /// <summary>\n        /// Restrict to instances that were finished after the given date.\n        /// </summary>\n        public DateTime? FinishedAfter;\n\n        /// <summary>\n        /// Filter by the key of the process definition the instances run on.\n        /// </summary>\n        [JsonProperty(\"processInstanceIdIn\")]\n        public List<string> ProcessInstanceIds;\n\n        /// <summary>\n        /// Sort the results by a given criterion. A valid value is activityId. Must be used in conjunction with the sortOrder parameter.\n        /// </summary>\n        public HistoricActivityStatisticsSorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order. Values may be asc for ascending order or desc for descending order. Must be used in conjunction with the sortBy parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum HistoricActivityStatisticsSorting\n    {\n        ActivityId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricActivityStatisticsResult.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricActivityStatisticsResult\n    {\n        /// <summary>\n        /// The id of the activity the results are aggregated for.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The total number of all running instances of the activity.\n        /// </summary>\n        public int Instances;\n\n        /// <summary>\n        /// The total number of all canceled instances of the activity. Note: Will be 0 (not null), if canceled activity instances were excluded.\n        /// </summary>\n        public int Canceled;\n\n        /// <summary>\n        /// The total number of all finished instances of the activity. Note: Will be 0 (not null), if finished activity instances were excluded. \n        /// </summary>\n        public int Finished;\n\n        /// <summary>\n        /// The total number of all instances which completed a scope of the activity. Note: Will be 0 (not null), if activity instances which completed a scope were excluded.\n        /// </summary>\n        public int CompleteScope;\n\n        /// <summary>\n        /// The total number of open incident for the activity. Note: Will be 0 (not null), if incidents is set to false.\n        /// </summary>\n        public int OpenIncidents;\n\n        /// <summary>\n        /// The total number of resolved incident for the activity. Note: Will be 0 (not null), if incidents is set to false.\n        /// </summary>\n        public int ResolvedIncidents;\n\n        /// <summary>\n        /// The total number of deleted incident for the activity. Note: Will be 0 (not null), if incidents is set to false.\n        /// </summary>\n        public int DeletedIncidents;\n\n        public override string ToString() => Id.ToString();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstance.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstance\n    {\n        /// <summary>\n        /// The id of the case activity instance.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// If true, this case activity instance is active.\n        /// </summary>\n        public bool Active;\n\n        /// <summary>\n        /// If true, this case activity instance is available.\n        /// </summary>\n        public bool Available;\n\n        /// <summary>\n        /// The id of the called case instance. Is only set if the case activity is a case task.\n        /// </summary>\n        public string CalledCaseInstanceId;\n\n        /// <summary>\n        /// The id of the called process instance. Is only set if the case activity is a process task.\n        /// </summary>\n        public string CalledProcessInstanceId;\n\n        /// <summary>\n        /// The id of the case activity that this object is an instance of.\n        /// </summary>\n        public string CaseActivityId;\n\n        /// <summary>\n        /// The name of the case activity that this object is an instance of.\n        /// </summary>\n        public string CaseActivityName;\n\n        /// <summary>\n        /// The type of the activity this case execution belongs to.\n        /// </summary>\n        public string CaseActivityType;\n\n        /// <summary>\n        /// The id of the case definition that this case activity instance belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// The id of the case execution that executed this case activity instance.\n        /// </summary>\n        public string CaseExecutionId;\n\n        /// <summary>\n        /// The id of the case instance that this case activity instance belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// If true, this case activity instance is completed.\n        /// </summary>\n        public bool Completed;\n\n        /// <summary>\n        /// The time the instance was created. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.\n        /// </summary>\n        public DateTime CreateTime;\n\n        /// <summary>\n        /// If true, this case activity instance is disabled.\n        /// </summary>\n        public bool Disabled;\n\n        /// <summary>\n        /// The time the instance took to finish (in milliseconds).\n        /// </summary>\n        public int DurationInMillis;\n\n        /// <summary>\n        /// If true, this case activity instance is enabled.\n        /// </summary>\n        public bool Enabled;\n\n        /// <summary>\n        /// The time the instance ended. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.\n        /// </summary>\n        public DateTime EndTime;\n\n        /// <summary>\n        /// The id of the parent case activity instance.\n        /// </summary>\n        public string ParentCaseActivityInstanceId;\n\n        /// <summary>\n        /// If true, this case activity instance is repeatable.\n        /// </summary>\n        public bool Repeatable;\n\n        /// <summary>\n        /// If true, this case activity instance is a repetition.\n        /// </summary>\n        public bool Repetition;\n\n        /// <summary>\n        /// If true, this case activity instance is required.\n        /// </summary>\n        public bool Required;\n\n        /// <summary>\n        /// The id of the task that is associated to this case activity instance. Is only set if the case activity is a human task.\n        /// </summary>\n        public string TaskId;\n\n        /// <summary>\n        /// The tenant id of the case activity instance.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// If true, this case activity instance is terminated.\n        /// </summary>\n        public bool Terminated;\n\n        public override string ToString() => Id;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceQuery.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceQuery : SortableQuery<HistoricCaseActivityInstanceQuerySorting, HistoricCaseActivityInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n    }\n\n    public enum HistoricCaseActivityInstanceQuerySorting\n    {\n        CaseActivityInstanceID,\n        CaseInstanceId,\n        CaseExecutionId,\n        CaseActivityId,\n        CaseActivityName,\n        CreateTime,\n        EndTime,\n        Duration,\n        CaseDefinitionId,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceQueryResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceQueryResource\n    {\n        private IHistoricCaseActivityInstanceRestService _api;\n        private HistoricCaseActivityInstanceQuery _query;\n\n        internal HistoricCaseActivityInstanceQueryResource(IHistoricCaseActivityInstanceRestService api, HistoricCaseActivityInstanceQuery query)\n        {\n            _api = api;\n            _query = query;\n        }\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        public Task<List<HistoricCaseActivityInstance>> List() => _api.GetList(_query.CaseInstanceId, null, null);\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        /// <param name=\"firstResult\">Pagination of results. Specifies the index of the first result to return.</param>\n        /// <param name=\"maxResults\">Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.</param>\n        public Task<List<HistoricCaseActivityInstance>> List(int firstResult, int maxResults) => _api.GetList(_query.CaseInstanceId, firstResult, maxResults);\n\n        // TODO: Count\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceResource\n    {\n        private IHistoricCaseActivityInstanceRestService _api;\n        private string _caseActivityInstanceId;\n\n        internal HistoricCaseActivityInstanceResource(IHistoricCaseActivityInstanceRestService api, string caseActivityInstanceId)\n        {\n            _api = api;\n            _caseActivityInstanceId = caseActivityInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic case activity instance by id, according to the <see cref=\"HistoricCaseActivityInstance\"/> interface in the engine.\n        /// </summary>\n        public Task<HistoricCaseActivityInstance> Get() => _api.Get(_caseActivityInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseActivityInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseActivityInstanceService\n    {\n        private IHistoricCaseActivityInstanceRestService _api;\n\n        internal HistoricCaseActivityInstanceService(IHistoricCaseActivityInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public HistoricCaseActivityInstanceQueryResource Query(HistoricCaseActivityInstanceQuery query = null) =>\n            new HistoricCaseActivityInstanceQueryResource(_api, query);\n\n        /// <param name=\"caseActivityInstanceId\">The id of the historic case activity instance to be retrieved.</param>\n        public HistoricCaseActivityInstanceResource this[string caseActivityInstanceId] => new HistoricCaseActivityInstanceResource(_api, caseActivityInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseDefinitionResource\n    {\n        private IHistoricCaseDefinitionRestService _api;\n        private string _caseDefinitionId;\n\n        internal HistoricCaseDefinitionResource(IHistoricCaseDefinitionRestService api, string caseDefinitionId)\n        {\n            _api = api;\n            _caseDefinitionId = caseDefinitionId;\n        }\n\n        public Task<List<HistoricCaseDefinitionStatisticsResult>> GetActivityStatistics() => _api.GetActivityStatistics(_caseDefinitionId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseDefinitionService\n    {\n        private IHistoricCaseDefinitionRestService _api;\n\n        internal HistoricCaseDefinitionService(IHistoricCaseDefinitionRestService api)\n        {\n            _api = api;\n        }\n\n        public HistoricCaseDefinitionResource this[string caseDefinitionId] => new HistoricCaseDefinitionResource(_api, caseDefinitionId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseDefinitionStatisticsResult.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseDefinitionStatisticsResult\n    {\n        public string Id;\n\n        public int Active;\n\n        public int Available;\n\n        public int Completed;\n\n        public int Disabled;\n\n        public int Enabled;\n\n        public int Terminated;\n\n        public override string ToString() => Id;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstance.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstance\n    {\n        /// <summary>\n        /// The id of the case instance.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// If true, this case instance is active.\n        /// </summary>\n        public bool Active;\n\n        /// <summary>\n        /// The business key of the case instance.\n        /// </summary>\n        public string BusinessKey;\n\n        /// <summary>\n        /// The id of the case definition that this case instance belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// The key of the case definition that this case instance belongs to.\n        /// </summary>\n        public string CaseDefinitionKey;\n\n        /// <summary>\n        /// The name of the case definition that this case instance belongs to.\n        /// </summary>\n        public string CaseDefinitionName;\n\n        /// <summary>\n        /// If true, this case instance is closed.\n        /// </summary>\n        public bool Closed;\n\n        /// <summary>\n        /// The time the instance was closed. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.\n        /// </summary>\n        public DateTime CloseTime;\n\n        /// <summary>\n        /// If true, this case instance is completed.\n        /// </summary>\n        public bool Completed;\n\n        /// <summary>\n        /// The time the instance was created. Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.\n        /// </summary>\n        public DateTime CreateTime;\n\n        /// <summary>\n        /// The id of the user who created the case instance.\n        /// </summary>\n        public string CreateUserId;\n\n        /// <summary>\n        /// The time the instance took to finish (in milliseconds).\n        /// </summary>\n        public int DurationInMillis;\n\n        /// <summary>\n        /// The id of the parent case instance, if it exists.\n        /// </summary>\n        public string SuperCaseInstanceId;\n\n        /// <summary>\n        /// The id of the parent process instance, if it exists.\n        /// </summary>\n        public string SuperProcessInstanceId;\n\n        /// <summary>\n        /// The tenant id of the case instance.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// If true, this case instance is terminated.\n        /// </summary>\n        public bool Terminated;\n\n        public override string ToString() => Id;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstanceQuery : SortableQuery<HistoricCaseInstanceQuerySorting, HistoricCaseInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by the case definition the instances run on.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        [JsonProperty(\"caseActivityIdIn\")]\n        public List<string> CaseActivityIds;\n\n        /// <summary>\n        /// Restrict query to one case instance that has a sub process instance with the given id.\n        /// </summary>\n        public string SubProcessInstanceId;\n\n        /// <summary>\n        /// Only include active case instances.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Active;\n\n        /// <summary>\n        /// Only include completed case instances.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Completed;\n\n        /// <summary>\n        /// Only include terminated case instances.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Terminated;\n\n        /// <summary>\n        /// Only include closed case instances.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Closed;\n\n        /// <summary>\n        /// Only include not closed case instances.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool NotClosed;\n    }\n\n    public enum HistoricCaseInstanceQuerySorting\n    {\n        InstanceId,\n        DefinitionId,\n        BusinessKey,\n        CreateTime,\n        CloseTime,\n        Duration,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstanceResource\n    {\n        private IHistoricCaseInstanceRestService _api;\n        private string _caseInstanceId;\n\n        internal HistoricCaseInstanceResource(IHistoricCaseInstanceRestService api, string caseInstanceId)\n        {\n            _api = api;\n            _caseInstanceId = caseInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic case instance by id, according to the <see cref=\"HistoricCaseInstance\"/> interface in the engine.\n        /// </summary>\n        /// <returns></returns>\n        public Task<HistoricCaseInstance> Get() => _api.Get(_caseInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricCaseInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricCaseInstanceService\n    {\n        private IHistoricCaseInstanceRestService _api;\n\n        internal HistoricCaseInstanceService(IHistoricCaseInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricCaseInstanceQuery, HistoricCaseInstance> Query(\n            HistoricCaseInstanceQuery query = null) =>\n            new QueryResource<HistoricCaseInstanceQuery, HistoricCaseInstance>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"caseInstanceId\">The id of the historic case instance to be retrieved.</param>\n        public HistoricCaseInstanceResource this[string caseInstanceId] => new HistoricCaseInstanceResource(_api, caseInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstance.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstance\n    {\n        /// <summary>\n        /// The id of the decision instance.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The id of the decision definition that this decision instance belongs to.\n        /// </summary>\n        public string DecisionDefinitionId;\n\n        /// <summary>\n        /// The key of the decision definition that this decision instance belongs to.\n        /// </summary>\n        public string DecisionDefinitionKey;\n\n        /// <summary>\n        /// The name of the decision definition that this decision instance belongs to.\n        /// </summary>\n        public string DecisionDefinitionName;\n\n        /// <summary>\n        /// The time the instance was evaluated.\n        /// </summary>\n        public DateTime? EvaluationTime;\n\n        /// <summary>\n        /// The id of the process definition that this decision instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// The key of the process definition that this decision instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// The id of the process instance that this decision instance belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// The id of the case definition that this decision instance belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// The key of the case definition that this decision instance belongs to.\n        /// </summary>\n        public string CaseDefinitionKey;\n\n        /// <summary>\n        /// The id of the case instance that this decision instance belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// The id of the activity that this decision instance belongs to.\n        /// </summary>\n        public string ActivityId;\n\n        /// <summary>\n        /// The id of the activity instance that this decision instance belongs to.\n        /// </summary>\n        public string ActivityInstanceId;\n\n        /// <summary>\n        /// The tenant id of the historic decision instance.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// The id of the authenticated user that has evaluated this decision instance without a process or case instance.\n        /// </summary>\n        public string UserId;\n\n        /// <summary>\n        /// The list of decision input values. Only exists if <see cref=\"HistoricDecisionInstanceQuery.IncludeInputs\"/> was set to true in the query. For the decision input properties see <see cref=\"HistoricDecisionInstanceInputValue\"/>.\n        /// </summary>\n        public List<HistoricDecisionInstanceInputValue> Inputs;\n\n        /// <summary>\n        /// The list of decision output values.Only exists if <see cref=\"HistoricDecisionInstanceQuery.IncludeOutputs\"/> was set to true in the query. For the decision output properties see <see cref=\"HistoricDecisionInstanceOutputValue\"/>.\n        /// </summary>\n        public List<HistoricDecisionInstanceOutputValue> Outputs;\n\n        /// <summary>\n        /// The result of the collect aggregation of the decision result if used. null if no aggregation was used.\n        /// </summary>\n        public double? CollectResultValue;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceInputValue.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceInputValue : VariableValue\n    {\n        /// <summary>\n        /// The id of the decision input value.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The id of the decision instance the input value belongs to.\n        /// </summary>\n        public string DecisionInstanceId;\n\n        /// <summary>\n        /// The id of the clause the input value belongs to.\n        /// </summary>\n        public string ClauseId;\n\n        /// <summary>\n        /// The name of the clause the input value belongs to.\n        /// </summary>\n        public string ClauseName;\n\n        /// <summary>\n        /// An error message in case a Java Serialized Object could not be de-serialized.\n        /// </summary>\n        public string ErrorMessage;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceOutputValue.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceOutputValue : VariableValue\n    {\n        /// <summary>\n        /// The id of the decision output value.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The id of the decision instance the output value belongs to.\n        /// </summary>\n        public string DecisionInstanceId;\n\n        /// <summary>\n        /// The id of the clause the output value belongs to.\n        /// </summary>\n        public string ClauseId;\n\n        /// <summary>\n        /// The name of the clause the output value belongs to.\n        /// </summary>\n        public string ClauseName;\n\n        /// <summary>\n        /// The id of the rule the output value belongs to.\n        /// </summary>\n        public string RuleId;\n\n        /// <summary>\n        /// The order of the rule the output value belongs to.\n        /// </summary>\n        public int RuleOrder;\n\n        /// <summary>\n        /// An error message in case a Java Serialized Object could not be de-serialized.\n        /// </summary>\n        public string ErrorMessage;\n\n        /// <summary>\n        /// The name of the output variable.\n        /// </summary>\n        public string VariableName;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by decision instance id.\n        /// </summary>\n        public string DecisionInstanceId;\n\n        /// <summary>\n        /// Filter by decision instance ids.\n        /// </summary>\n        [JsonProperty(\"decisionInstanceIdIn\")]\n        public List<string> DecisionInstanceIds = new List<string>();\n\n        /// <summary>\n        /// Filter by the decision definition the instances belongs to.\n        /// </summary>\n        public string DecisionDefinitionId;\n\n        /// <summary>\n        /// Filter by the decision definitions the instances belongs to.\n        /// </summary>\n        [JsonProperty(\"decisionDefinitionIdIn\")]\n        public List<string> DecisionDefinitionIds = new List<string>();\n\n        /// <summary>\n        /// Filter by the key of the decision definition the instances belongs to.\n        /// </summary>\n        public string DecisionDefinitionKey;\n\n        /// <summary>\n        /// Filter by the keys of the decision definition the instances belongs to.\n        /// </summary>\n        [JsonProperty(\"decisionDefinitionKeyIn\")]\n        public List<string> DecisionDefinitionKeys = new List<string>();\n\n        /// <summary>\n        /// Filter by the name of the decision definition the instances belongs to.\n        /// </summary>\n        public string DecisionDefinitionName;\n\n        /// <summary>\n        /// Filter by the process definition the instances belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// Filter by the key of the process definition the instances belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// Filter by the process instance the instances belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// Filter by the case definition the instances belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// Filter by the key of the case definition the instances belongs to.\n        /// </summary>\n        public string CaseDefinitionKey;\n\n        /// <summary>\n        /// Filter by the case instance the instances belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// Filter by the activity ids the instances belongs to.\n        /// </summary>\n        [JsonProperty(\"activityIdIn\")]\n        public List<string> ActivityIds = new List<string>();\n\n        /// <summary>\n        /// Filter by the activity instance ids the instances belongs to.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceIds = new List<string>();\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A historic decision instance must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n\n        /// <summary>\n        /// Restrict to instances that were evaluated before the given date.\n        /// </summary>\n        public DateTime? EvaluatedBefore;\n\n        /// <summary>\n        /// Restrict to instances that were evaluated after the given date.\n        /// </summary>\n        public DateTime? EvaluatedAfter;\n\n        /// <summary>\n        /// Restrict to instances that were evaluated by the given user.\n        /// </summary>\n        public string UserId;\n\n        /// <summary>\n        /// Include input values in the result. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool IncludeInputs = false;\n\n        /// <summary>\n        /// Include output values in the result. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool IncludeOutputs = false;\n\n        /// <summary>\n        /// Disables fetching of byte array input and output values. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool DisableBinaryFetching = false;\n\n        /// <summary>\n        /// Disables deserialization of input and output values that are custom objects. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool DisableCustomObjectDeserialization = false;\n\n        /// <summary>\n        /// Restrict to instances that have a given root decision instance id. This also includes the decision instance with the given id.\n        /// </summary>\n        public string RootDecisionInstanceId;\n\n        /// <summary>\n        /// Restrict to instances those are the root decision instance of an evaluation.Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool RootDecisionInstancesOnly = false;\n\n        /// <summary>\n        /// Filter by the decision requirements definition the instances belongs to.\n        /// </summary>\n        public string DecisionRequirementsDefinitionId;\n\n        /// <summary>\n        /// Filter by the key of the decision requirements definition the instances belongs to.\n        /// </summary>\n        public string DecisionRequirementsDefinitionKey;\n\n        /// <summary>\n        /// Sort the results by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter.\n        /// </summary>\n        public HistoricDecisionInstanceQuerySorting SortBy;\n\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/> parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum HistoricDecisionInstanceQuerySorting\n    {\n        EvaluationTime,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceResource\n    {\n        private IHistoricDecisionInstanceRestService _api;\n        private string _decisionInstanceId;\n\n        internal HistoricDecisionInstanceResource(IHistoricDecisionInstanceRestService api, string decisionInstanceId)\n        {\n            _api = api;\n            _decisionInstanceId = decisionInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a single historic decision instance according to the HistoricDecisionInstance interface in the engine.\n        /// </summary>\n        public Task<HistoricDecisionInstance> Get() => _api.Get(_decisionInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDecisionInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricDecisionInstanceService\n    {\n        private IHistoricDecisionInstanceRestService _api;\n\n        internal HistoricDecisionInstanceService(IHistoricDecisionInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricDecisionInstanceQuery, HistoricDecisionInstance> Query(\n            HistoricDecisionInstanceQuery query = null) =>\n            new QueryResource<HistoricDecisionInstanceQuery, HistoricDecisionInstance>(\n                query,\n                (q, f, m) => _api.GetList(q, f, m), \n                q => _api.GetListCount(q));\n\n        /// <param name=\"decisionInstanceId\">The id of the historic decision instance to be retrieved.</param>\n        public HistoricDecisionInstanceResource this[string decisionInstanceId] => new HistoricDecisionInstanceResource(_api, decisionInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetail.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDetail\n    {\n        /// <summary>\n        /// Type\n        /// </summary>\n        public string Type;\n        /// <summary>\n        /// The id of the entry.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The key of the process definition.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the process definition which the associated job belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id of the process instance on which the associated job was created.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the activity instance that the external task belongs to.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// The execution id on which the associated job was created.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Case definition key\n        /// </summary>\n        public string CaseDefinitionKey;\n        /// <summary>\n        /// Case definition id\n        /// </summary>\n        public string CaseDefinitionId;\n        /// <summary>\n        /// Case instance id\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// Case execution id\n        /// </summary>\n        public string CaseExecutionId;\n        /// <summary>\n        /// Task id\n        /// </summary>\n        public string TaskId;\n        /// <summary>\n        /// The id of the tenant that this historic job log entry belongs to.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// User operation id\n        /// </summary>\n        public string UserOperationId;\n        /// <summary>\n        /// Time\n        /// </summary>\n        public DateTime Time;\n        /// <summary>\n        /// Variable name\n        /// </summary>\n        public string VariableName;\n        /// <summary>\n        /// Variable instance id\n        /// </summary>\n        public string VariableInstanceId;\n        /// <summary>\n        /// Variable type\n        /// </summary>\n        public string VariableType;\n        /// <summary>\n        /// Value\n        /// </summary>\n        public object Value;\n        /// <summary>\n        /// Revision\n        /// </summary>\n        public string Revision;\n        /// <summary>\n        /// Error message\n        /// </summary>\n        public string ErrorMessage;\n        /// <summary>\n        /// Value info\n        /// </summary>\n        public Dictionary<string, object> ValueInfo;\n        /// <summary>\n        /// The id of the form field.\n        /// </summary>\n        public string FieldId;\n        /// <summary>\n        /// The submitted value.\n        /// </summary>\n        public object FieldValue;\n\n        /// <summary>\n        /// To string implementation\n        /// </summary>\n        /// <returns></returns>\n        public override string ToString() => Id.ToString();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDetailQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by the id of the execution that executed the activity instance.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Filter by activity instance id.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// Restrict to tasks that belong to a case execution with the given id.\n        /// </summary>\n        public string CaseExecutionId;\n        /// <summary>\n        /// Variable instance id\n        /// </summary>\n        public string VariableInstanceId;\n        /// <summary>\n        /// Only select variable instances with one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n        /// <summary>\n        /// User operation id\n        /// </summary>\n        public string UserOperationId;\n        /// <summary>\n        /// Form fields\n        /// </summary>\n        public bool? FormFields;\n        /// <summary>\n        /// Variable updates\n        /// </summary>\n        public bool? VariableUpdates;\n        /// <summary>\n        /// Exclude task details\n        /// </summary>\n        public bool? ExcludeTaskDetails;\n\n        \n    }\n\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailResource.cs",
    "content": "﻿using System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricDetailResource\n    {\n        private IHistoricDetailRestService _api;\n        private string _historicDetailId;\n\n        internal HistoricDetailResource(IHistoricDetailRestService api, string historicDetailId)\n        {\n            _api = api;\n            _historicDetailId = historicDetailId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic detail by id.\n        /// </summary>\n        public Task<HistoricDetail> Get() => _api.Get(_historicDetailId);\n\n        /// <summary>\n        /// \n        /// </summary>\n        public async Task<HttpContent> GetData() => (await _api.GetData(_historicDetailId)).Content;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricDetailService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricDetailService\n    {\n        private IHistoricDetailRestService _api;\n\n        internal HistoricDetailService(IHistoricDetailRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricDetailQuery, HistoricDetail> Query(HistoricDetailQuery query = null) =>\n            new QueryResource<HistoricDetailQuery, HistoricDetail>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        /// <param name=\"historicJobLogId\">The id of the detail entry.</param>\n        public HistoricDetailResource this[string historicJobLogId] => new HistoricDetailResource(_api, historicJobLogId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLog.cs",
    "content": "﻿using Camunda.Api.Client.UserTask;\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricExternalTaskLog\n    {\n        /// <summary>\n        /// The id of the log entry.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The id of the external task.\n        /// </summary>\n        public string ExternalTaskId;\n\n        /// <summary>\n        /// The time when the log entry has been written.\n        /// </summary>\n        public string Timestamp;\n\n        /// <summary>\n        /// The topic name of the associated external task.\n        /// </summary>\n        public string TopicName;\n\n        /// <summary>\n        /// The id of the worker that posessed the most recent lock.\n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// The number of retries the associated external task has left.\n        /// </summary>\n        public int Retries;\n\n        /// <summary>\n        /// The execution priority the external task had when the log entry was created.\n        /// </summary>\n        public int Priority;\n\n        /// <summary>\n        /// The message of the error that occurred by executing the associated external task.\n        /// </summary>\n        public string ErrorMessage;\n\n        /// <summary>\n        /// The id of the activity on which the associated external task was created.\n        /// </summary>\n        public string ActivityId;\n\n        /// <summary>\n        /// The id of the activity instance on which the associated external task was created.\n        /// </summary>\n        public string ActivityInstanceId;\n\n        /// <summary>\n        /// The execution id on which the associated external task was created.\n        /// </summary>\n        public string ExecutionId;\n\n        /// <summary>\n        /// The id of the process instance on which the associated external task was created.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// The id of the process definition which the associated external task belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// The key of the process definition which the associated external task belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// The id of the tenant that this historic external task log entry belongs to.\n        /// </summary>\n        public string TenantId;\n\n        /// <summary>\n        /// A flag indicating whether this log represents the creation of the associated external task.\n        /// </summary>\n        public bool CreationLog;\n\n        /// <summary>\n        /// A flag indicating whether this log represents the failed execution of the associated external task.\n        /// </summary>\n        public bool FailureLog;\n\n        /// <summary>\n        /// A flag indicating whether this log represents the successful execution of the associated external task.\n        /// </summary>\n        public bool SuccessLog;\n\n        /// <summary>\n        /// A flag indicating whether this log represents the deletion of the associated external task.\n        /// </summary>\n        public bool DeletionLog;\n\n        /// <summary>\n        /// The time after which this log should be removed by the History Cleanup job.Default format* yyyy-MM-dd'T'HH:mm:ss.SSSZ.\n        /// </summary>\n        public string RemovalTime;\n\n        /// <summary>\n        /// The process instance id of the root process instance that initiated the process containing this log.\n        /// </summary>\n        public string RootProcessInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricExternalTaskLogQuery : SortableQuery<HistoricExternalTaskTaskSorting, HistoricExternalTaskLogQuery>\n    {\n        /// <summary>\n        /// Filter by historic external task log id.\n        /// </summary>\n        public string LogId;\n\n        /// <summary>\n        /// Filter by external task id.\n        /// </summary>\n        public string ExternalTaskId;\n\n        /// <summary>\n        /// Filter by an external task topic.\n        /// </summary>\n        public string TopicName;\n\n        /// <summary>\n        /// Filter by the id of the worker that the task was most recently locked by. \n        /// </summary>\n        public string WorkerId;\n\n        /// <summary>\n        /// Filter by external task exception message.  \n        /// </summary>\n        public string ErrorMessage;\n\n        /// <summary>\n        /// Only include historic external task logs which belong to one of the passed activity ids. \n        /// </summary>\n        [JsonProperty(\"activityIdIn\")]\n        public List<string> ActivityIds;\n\n        /// <summary>\n        /// Only include historic external task logs which belong to one of the passed activity instance ids.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceIds;\n\n        /// <summary>\n        /// Only include historic external task logs which belong to one of the passed execution ids.\n        /// </summary>\n        [JsonProperty(\"executionIdIn\")]\n        public List<string> ExecutionIds;\n\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// Filter by process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// Filter by process definition key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// Only include historic external task log entries which belong to one of the passed and comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n\n        /// <summary>\n        /// Only include historic external task log entries that belong to no tenant. Value may only be true, as false is the default behavior. \n        /// </summary>\n        public bool WithoutTenantId;\n\n        /// <summary>\n        /// Only include logs for which the associated external task had a priority lower than or equal to the given value. Value must be a valid long value\n        /// </summary>\n        public long PriorityLowerThanOrEquals;\n\n        /// <summary>\n        /// Only include logs for which the associated external task had a priority higher than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long PriorityHigherThanOrEquals;\n\n        /// <summary>\n        /// Only include creation logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool CreationLog;\n\n        /// <summary>\n        /// Only include failure logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool FailureLog;\n\n        /// <summary>\n        /// Only include success logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool SuccessLog;\n\n        /// <summary>\n        /// \tOnly include deletion logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool DeletionLog;\n    }\n\n    public enum HistoricExternalTaskTaskSorting\n    {\n        Timestamp,\n        TaskId,\n        TopicName,\n        WorkerId,\n        Retries,\n        Priority,\n        ActivityId,\n        ActivityInstanceId,\n        ExecutionId,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        ProcessDefinitionKey,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricExternalTaskLogResource\n    {\n        private IHistoricExternalTaskLogRestService _api;\n        private string _logId;\n\n        internal HistoricExternalTaskLogResource(IHistoricExternalTaskLogRestService api, string logId)\n        {\n            _api = api;\n            _logId = logId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic external task log by id.\n        /// </summary>\n        /// <returns></returns>\n        public Task<HistoricExternalTaskLog> Get() => _api.Get(_logId);\n\n        /// <summary>\n        /// Retrieves the corresponding exception stacktrace to the passed historic job log by id.\n        /// </summary>\n        public Task<string> GetErrorDetails() => _api.GetErrorDetails(_logId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricExternalTaskLogService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricExternalTaskLogService\n    {\n        private IHistoricExternalTaskLogRestService _api;\n\n        internal HistoricExternalTaskLogService(IHistoricExternalTaskLogRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricExternalTaskLogQuery, HistoricExternalTaskLog> Query(HistoricExternalTaskLogQuery query = null) =>\n            new QueryResource<HistoricExternalTaskLogQuery, HistoricExternalTaskLog>(query, _api.GetList, _api.GetListCount);\n\n        public HistoricExternalTaskLogResource this[string logId] => new HistoricExternalTaskLogResource(_api, logId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncident.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricIncident\n    {\n        /// <summary>\n        /// The id of the incident.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The key of the process definition this incident is associated with.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the process definition this incident is associated with.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id of the process instance this incident is associated with.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the execution this incident is associated with.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The time this incident happened.\n        /// </summary>\n        public DateTime CreateTime;\n        /// <summary>\n        /// The time this incident has been deleted or resolved.\n        /// </summary>\n        public DateTime? EndTime;\n        /// <summary>\n        /// The type of incident, for example: failedJobs will be returned in case of an incident which identified a failed job during\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// The id of the activity this incident is associated with.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The id of the associated cause incident which has been triggered.\n        /// </summary>\n        public string CauseIncidentId;\n        /// <summary>\n        /// The id of the associated root cause incident which has been triggered.\n        /// </summary>\n        public string RootCauseIncidentId;\n        /// <summary>\n        /// The payload of this incident.\n        /// </summary>\n        public string Configuration;\n        /// <summary>\n        /// The message of this incident.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// The id of the tenant this incident is associated with.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The job definition id the incident is associated with.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// If true, this incident is open.\n        /// </summary>\n        public bool Open;\n        /// <summary>\n        /// If true, this incident has been deleted.\n        /// </summary>\n        public bool Deleted;\n        /// <summary>\n        /// If true, this incident has been resolved.\n        /// </summary>\n        public bool Resolved;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncidentQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricIncidentQuery : QueryParameters\n    {\n        /// <summary>\n        /// Restricts to incidents that have the given id.\n        /// </summary>\n        public string IncidentId;\n        /// <summary>\n        /// Restricts to incidents that belong to the given incident type. See the User Guide for a list of incident types.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// Restricts to incidents that have the given incident message.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// Restricts to incidents that belong to a process definition with the given id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Restricts to incidents that belong to a process instance with the given id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Restricts to incidents that belong to an execution with the given id.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Restricts to incidents that belong to an activity with the given id.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Restricts to incidents that have the given incident id as cause incident.\n        /// </summary>\n        public string CauseIncidentId;\n        /// <summary>\n        /// Restricts to incidents that have the given incident id as root cause incident.\n        /// </summary>\n        public string RootCauseIncidentId;\n        /// <summary>\n        /// Restricts to incidents that have the given parameter set as configuration.\n        /// </summary>\n        public string Configuration;\n        /// <summary>\n        /// Restricts to incidents that are open.\n        /// </summary>\n        public bool Open;\n        /// <summary>\n        /// Restricts to incidents that are resolved.\n        /// </summary>\n        public bool Resolved;\n        /// <summary>\n        /// Restricts to incidents that are deleted.\n        /// </summary>\n        public bool Deleted;\n        /// <summary>\n        /// Restricts to incidents that have one of the given comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n        /// <summary>\n        /// Restricts to incidents that have one of the given comma-separated job definition ids.\n        /// </summary>\n        [JsonProperty(\"jobDefinitionIdIn\")]\n        public List<string> JobDefinitionIds;\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/>.\n        /// </summary>\n        public HistoricIncidentQuerySorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/>.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum HistoricIncidentQuerySorting\n    {\n        IncidentId,\n        CreateTime,\n        EndTime,\n        IncidentType,\n        ExecutionId,\n        ActivityId,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        CauseIncidentId,\n        RootCauseIncidentId,\n        Configuration,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricIncidentService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricIncidentService\n    {\n        private IHistoricIncidentRestService _api;\n\n        internal HistoricIncidentService(IHistoricIncidentRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricIncidentQuery, HistoricIncident> Query(HistoricIncidentQuery query = null) =>\n            new QueryResource<HistoricIncidentQuery, HistoricIncident>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLog.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricJobLog\n    {\n        /// <summary>\n        /// The id of the log entry.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The time when the log entry has been written.\n        /// </summary>\n        public DateTime Timestamp;\n        /// <summary>\n        /// The id of the associated job.\n        /// </summary>\n        public string JobId;\n        /// <summary>\n        /// The date on which the associated job is supposed to be processed.\n        /// </summary>\n        public DateTime JobDueDate;\n        /// <summary>\n        /// The number of retries the associated job has left.\n        /// </summary>\n        public int JobRetries;\n        /// <summary>\n        /// The execution priority the job had when the log entry was created.\n        /// </summary>\n        public long JobPriority;\n        /// <summary>\n        /// The message of the exception that occurred by executing the associated job.\n        /// </summary>\n        public string JobExceptionMessage;\n        /// <summary>\n        /// The id of the job definition on which the associated job was created.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// The job definition type of the associated job.\n        /// </summary>\n        public string JobDefinitionType;\n        /// <summary>\n        /// The job definition configuration type of the associated job.\n        /// </summary>\n        public string JobDefinitionConfiguration;\n        /// <summary>\n        /// The id of the activity on which the associated job was created.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The execution id on which the associated job was created.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the process instance on which the associated job was created.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the process definition which the associated job belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition which the associated job belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the deployment which the associated job belongs to.\n        /// </summary>\n        public string DeploymentId;\n        /// <summary>\n        /// The id of the tenant that this historic job log entry belongs to.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// A flag indicating whether this log represents the creation of the associated job.\n        /// </summary>\n        public bool CreationLog;\n        /// <summary>\n        /// A flag indicating whether this log represents the failed execution of the associated job.\n        /// </summary>\n        public bool FailureLog;\n        /// <summary>\n        /// A flag indicating whether this log represents the successful execution of the associated job.\n        /// </summary>\n        public bool SuccessLog;\n        /// <summary>\n        /// A flag indicating whether this log represents the deletion of the associated job.\n        /// </summary>\n        public bool DeletionLog;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricJobLogQuery : SortableQuery<HistoricJobLogQuerySorting, HistoricJobLogQuery>\n    {\n        /// <summary>\n        /// Filter by historic job log id.\n        /// </summary>\n        public string LogId;\n        /// <summary>\n        /// Filter by job id.\n        /// </summary>\n        public string JobId;\n        /// <summary>\n        /// Filter by job exception message.\n        /// </summary>\n        public string JobExceptionMessage;\n        /// <summary>\n        /// Filter by job definition id.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// Filter by job definition type.\n        /// </summary>\n        public string JobDefinitionType;\n        /// <summary>\n        /// Filter by job definition configuration.\n        /// </summary>\n        public string JobDefinitionConfiguration;\n        /// <summary>\n        /// Only include historic job logs which belong to one of the passed activity ids.\n        /// </summary>\n        [JsonProperty(\"activityIdIn\")]\n        public List<string> ActivityIds;\n        /// <summary>\n        /// Only include historic job logs which belong to one of the passed execution ids.\n        /// </summary>\n        [JsonProperty(\"executionIdIn\")]\n        public List<string> ExecutionIds;\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Filter by process definition key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Filter by deployment id.\n        /// </summary>\n        public string DeploymentId;\n        /// <summary>\n        /// Only include creation logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool CreationLog;\n        /// <summary>\n        /// Only include failure logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool FailureLog;\n        /// <summary>\n        /// Only include success logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool SuccessLog;\n        /// <summary>\n        /// Only include deletion logs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool DeletionLog;\n        /// <summary>\n        /// Only include logs for which the associated job had a priority higher than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long JobPriorityHigherThanOrEquals;\n        /// <summary>\n        /// Only include logs for which the associated job had a priority lower than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long JobPriorityLowerThanOrEquals;\n        /// <summary>\n        /// Only include historic job log entries which belong to one of the passed and comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n    }\n\n    public enum HistoricJobLogQuerySorting\n    {\n        JobId,\n        JobDefinitionId,\n        JobDueDate,\n        JobRetries,\n        JobPriority,\n        ActivityId,\n        Timestamp,\n        ExecutionId,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        ProcessDefinitionKey,\n        DeploymentId,\n        Occurrence,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricJobLogResource\n    {\n        private IHistoricJobLogRestService _api;\n        private string _historicJobLogId;\n\n        internal HistoricJobLogResource(IHistoricJobLogRestService api, string historicJobLogId)\n        {\n            _api = api;\n            _historicJobLogId = historicJobLogId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic job log by id.\n        /// </summary>\n        public Task<HistoricJobLog> Get() => _api.Get(_historicJobLogId);\n\n        /// <summary>\n        /// Retrieves the corresponding exception stacktrace to the passed historic job log by id.\n        /// </summary>\n        public async Task<string> GetStacktrace() => await (await _api.GetStacktrace(_historicJobLogId)).Content.ReadAsStringAsync();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricJobLogService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricJobLogService\n    {\n        private IHistoricJobLogRestService _api;\n\n        internal HistoricJobLogService(IHistoricJobLogRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricJobLogQuery, HistoricJobLog> Query(HistoricJobLogQuery query = null) =>\n            new QueryResource<HistoricJobLogQuery, HistoricJobLog>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"historicJobLogId\">The id of the log entry.</param>\n        public HistoricJobLogResource this[string historicJobLogId] => new HistoricJobLogResource(_api, historicJobLogId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessDefinitionService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessDefinitionService\n    {\n        private IHistoricProcessDefinitionRestService _api;\n\n        internal HistoricProcessDefinitionService(IHistoricProcessDefinitionRestService api)\n        {\n            _api = api;\n        }\n\n        /// <summary>\n        /// Retrieves historic statistics of a given process definition, grouped by activities. These statistics include the number of running activity instances and, optionally, the number of canceled activity instances, finished activity instances and activity instances which completed a scope (i.e., in BPMN 2.0 manner: a scope is completed by an activity instance when the activity instance consumed a token but did not emit a new token).\n        /// </summary>\n        /// <param name=\"id\"></param>\n        /// <param name=\"historicActivityStatistics\"></param>\n        /// <returns></returns>\n        public Task<List<HistoricActivityStatisticsResult>> GetHistoricActivityStatistics(string id, HistoricActivityStatistics historicActivityStatistics) \n            => _api.GetHistoricActivityStatistics(id, historicActivityStatistics);\n\n        /// <summary>\n        /// Retrieves a report about a process definition and finished process instances relevant to history cleanup (see History cleanup) so that you can tune the history time to live. These reports include the count of the finished historic process instances, cleanable process instances and basic process definition data - id, key, name and version. The size of the result set can be retrieved by using the Get Cleanable Process Instance Report Count method.\n        /// </summary>\n        /// <param name=\"cleanableProcessInstanceReport\"></param>\n        /// <returns></returns>\n        public Task<List<CleanableProcessInstanceReportResult>> GetCleanableProcessInstanceReport(CleanableProcessInstanceReport cleanableProcessInstanceReport) \n            => _api.GetCleanableProcessInstanceReport(cleanableProcessInstanceReport);\n\n        /// <summary>\n        /// Queries for the number of report results about a process definition and finished process instances relevant to history cleanup (see History cleanup). Takes the same parameters as the Get Cleanable Process Instance Report method.\n        /// </summary>\n        /// <param name=\"cleanableProcessInstanceReportCount\"></param>\n        /// <returns></returns>\n        public async Task<int> GetCleanableProcessInstanceReportCount(CleanableProcessInstanceReportCount cleanableProcessInstanceReportCount) \n            => (await _api.GetCleanableProcessInstanceReportCount(cleanableProcessInstanceReportCount)).Count;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstance.cs",
    "content": "﻿using System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessInstance\n    {\n        /// <summary>\n        /// The id of the process instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The business key of the process instance.\n        /// </summary>\n        public string BusinessKey;\n        /// <summary>\n        /// The id of the process definition that this process instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition that this process instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The name of the process definition that this process instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionName;\n        /// <summary>\n        /// The time the instance was started.\n        /// </summary>\n        public DateTime StartTime;\n        /// <summary>\n        /// The time the instance ended.\n        /// </summary>\n        public DateTime EndTime;\n        /// <summary>\n        /// The time the instance took to finish (in milliseconds).\n        /// </summary>\n        public long DurationInMillis;\n        /// <summary>\n        /// The id of the user who started the process instance.\n        /// </summary>\n        public string StartUserId;\n        /// <summary>\n        /// The id of the initial activity that was executed (e.g., a start event).\n        /// </summary>\n        public string StartActivityId;\n        /// <summary>\n        /// The provided delete reason in case the process instance was canceled during execution./// </summary>\n        public string DeleteReason;\n        /// <summary>\n        /// The id of the parent process instance, if it exists.\n        /// </summary>\n        public string SuperProcessInstanceId;\n        /// <summary>\n        /// The id of the parent case instance, if it exists.\n        /// </summary>\n        public string SuperCaseInstanceId;\n        /// <summary>\n        /// The id of the parent case instance, if it exists.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// The tenant id of the process instance.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// Last state of the process instance.\n        /// </summary>\n        public ProcessInstanceState State;\n\n        public override string ToString() => Id;\n    }\n\n    public enum ProcessInstanceState\n    {\n        /// <summary>\n        /// Running process instance\n        /// </summary>\n        [EnumMember(Value = \"ACTIVE\")]\n        Active,\n        /// <summary>\n        /// Suspended process instances\n        /// </summary>\n        [EnumMember(Value = \"SUSPENDED\")]\n        Suspended,\n        /// <summary>\n        /// Suspended process instances\n        /// </summary>\n        [EnumMember(Value = \"COMPLETED\")]\n        Completed,\n        /// <summary>\n        /// Suspended process instances\n        /// </summary>\n        [EnumMember(Value = \"EXTERNALLY_TERMINATED\")]\n        ExternallyTerminated,\n        /// <summary>\n        /// Terminated internally, for instance by terminating boundary event\n        /// </summary>\n        [EnumMember(Value = \"INTERNALLY_TERMINATED\")]\n        InternallyTerminated,\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessInstanceQuery : SortableQuery<HistoricProcessInstanceQuerySorting, HistoricProcessInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// Filter by process instance ids.\n        /// </summary>\n        public List<string> ProcessInstanceIds;\n\n        /// <summary>\n        /// Filter by the process definition the instances run on.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// Filter by the name of the process definition the instances run on.\n        /// </summary>\n        public string ProcessDefinitionName;\n\n        /// <summary>\n        /// Filter by process definition names that the parameter is a substring of.\n        /// </summary>\n        public string ProcessDefinitionNameLike;\n\n        /// <summary>\n        /// Filter by process instance business key.\n        /// </summary>\n        [JsonProperty(\"processInstanceBusinessKey\")]\n        public string BusinessKey;\n\n        /// <summary>\n        /// Filter by process instance business key that the parameter is a substring of.\n        /// </summary>\n        [JsonProperty(\"processInstanceBusinessKeyLike\")]\n        public string BusinessKeyLike;\n\n        /// <summary>\n        /// Only include finished process instances.\n        /// </summary>\n        public bool Finished = false;\n\n        /// <summary>\n        /// Only include unfinished process instances.\n        /// </summary>\n        public bool Unfinished = false;\n\n        /// <summary>\n        /// Only include process instances which have an incident.\n        /// </summary>\n        public bool WithIncidents = false;\n\n        /// <summary>\n        /// Only include process instances which have an incident in status either open or resolved. To get all process instances, use the query parameter withIncidents.\n        /// </summary>\n        public string IncidentStatus;\n\n        /// <summary>\n        /// Filter by the incident message. Exact match.\n        /// </summary>\n        public string IncidentMessage;\n\n        /// <summary>\n        /// Filter by the incident message that the parameter is a substring of.\n        /// </summary>\n        public string IncidentMessageLike;\n\n        /// <summary>\n        /// Only include process instances that were started by the given user.\n        /// </summary>\n        public string StartedBy;\n\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id.\n        /// </summary>\n        public string SuperProcessInstanceId;\n\n        /// <summary>\n        /// Restrict query to one process instance that has a sub process instance with the given id.\n        /// </summary>\n        public string SubProcessInstanceId;\n\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id.\n        /// </summary>\n        public string SuperCaseInstanceId;\n\n        /// <summary>\n        /// Restrict query to one process instance that has a sub case instance with the given id.\n        /// </summary>\n        public string SubCaseInstanceId;\n\n        /// <summary>\n        /// Restrict to instances that were started before the given date.\n        /// </summary>\n        public DateTime? StartedBefore;\n\n        /// <summary>\n        /// Restrict to instances that were started after the given date.\n        /// </summary>\n        public DateTime? StartedAfter;\n\n        /// <summary>\n        /// Restrict to instances that were finished before the given date.\n        /// </summary>\n        public DateTime? FinishedBefore;\n\n        /// <summary>\n        /// Restrict to instances that were finished after the given date.\n        /// </summary>\n        public DateTime? FinishedAfter;\n\n        /// <summary>\n        /// Filter by the key of the process definition the instances run on.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// Exclude instances that belong to a set of process definitions. An array of process definition keys.\n        /// </summary>\n        public List<string> ProcessDefinitionKeyNotIn;\n\n        /// <summary>\n        /// Filter by a list of tenant ids. A process instance must have one of the given tenant ids. Must be an array of Strings.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// Restrict to instances that have an active activity with one of given ids.\n        /// </summary>\n        [JsonProperty(\"activeActivityIdIn\")]\n        public List<string> ActiveActivityIds;\n        \n        /// <summary>\n        /// Array to only include process instances that have/had variables with certain values.\n        /// </summary>\n        public List<VariableQueryParameter> Variables = new List<VariableQueryParameter>();\n    }\n\n    public enum HistoricProcessInstanceQuerySorting\n    {\n        InstanceId,\n        DefinitionId,\n        BusinessKey,\n        StartTime,\n        EndTime,\n        Duration,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceReport.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessInstanceReport : AbstractReport\n    {\n        /// <summary>\n        /// Filter by process definition ids.\n        /// </summary>\n        [JsonProperty(\"processDefinitionIdIn\")]\n        public List<string> ProcessDefinitionIds;\n        /// <summary>\n        /// Filter by process definition keys.\n        /// </summary>\n        [JsonProperty(\"processDefinitionKeyIn\")]\n        public List<string> ProcessDefinitionKeys;\n        /// <summary>\n        /// Restrict to instances that were started after the given date.\n        /// </summary>\n        public DateTime? StartedAfter;\n        /// <summary>\n        /// Restrict to instances that were started before the given date.\n        /// </summary>\n        public DateTime? StartedBefore;\n\n        public HistoricProcessInstanceReport()\n        {\n            ReportType = ReportType.Duration;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceResource.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessInstanceResource\n    {\n        private IHistoricProcessInstanceRestService _api;\n        private string _processInstanceId;\n\n        internal HistoricProcessInstanceResource(IHistoricProcessInstanceRestService api, string processInstanceId)\n        {\n            _api = api;\n            _processInstanceId = processInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic process instance by id, according to the <see cref=\"HistoricProcessInstance\"/> interface in the engine.\n        /// </summary>\n        public Task<HistoricProcessInstance> Get() => _api.Get(_processInstanceId);\n\n        /// <summary>\n        /// Deletes a process instance from the history by id.\n        /// </summary>\n        public Task Delete() => _api.Delete(_processInstanceId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricProcessInstanceService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricProcessInstanceService\n    {\n        private IHistoricProcessInstanceRestService _api;\n\n        internal HistoricProcessInstanceService(IHistoricProcessInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricProcessInstanceQuery, HistoricProcessInstance> Query(\n            HistoricProcessInstanceQuery query = null) =>\n            new QueryResource<HistoricProcessInstanceQuery, HistoricProcessInstance>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"processInstanceId\">The id of the historic process instance to be retrieved.</param>\n        public HistoricProcessInstanceResource this[string processInstanceId] => new HistoricProcessInstanceResource(_api, processInstanceId);\n\n        /// <summary>\n        /// Delete multiple historic process instances asynchronously (batch).\n        /// At least <see cref=\"DeleteHistoricProcessInstances.HistoricProcessInstanceIds\"/> or <see cref=\"DeleteHistoricProcessInstances.HistoricProcessInstanceQuery\"/> has to be provided.\n        /// If both are provided then all instances matching query criterion and instances from the list will be deleted.\n        /// </summary>\n        public Task<BatchInfo> Delete(DeleteHistoricProcessInstances deleteHistoricProcessInstances) => _api.DeleteAsync(deleteHistoricProcessInstances);\n\n        /// <summary>\n        /// Retrieves a report about the duration of completed process instances, grouped by a period. These reports include the maximum, minimum and average duration of all completed process instances which were started in a given period.\n        /// </summary>\n        /// <remarks>This only includes historic data.</remarks>\n        public Task<List<DurationReportResult>> GetDurationReport(HistoricProcessInstanceReport historicProcessInstanceReport) => _api.GetDurationReport(historicProcessInstanceReport);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTask.cs",
    "content": "﻿using Camunda.Api.Client.UserTask;\nusing System;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTask: UserTaskInfo\n    {\n        /// <summary>\n        /// Whether the task belongs to a process instance that is suspended.\n        /// </summary>\n        public bool Suspended;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskCountReport.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTaskCountReport : AbstractReport\n    {\n        /// <summary>\n        /// Restrict to tasks that were completed before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? CompletedAfter;\n\n        /// <summary>\n        ///Restrict to tasks that were completed before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? CompletedBefore;\n\n        /// <summary>\n        /// When the report type is set to count, this parameter is Mandatory. Groups the tasks report by a given criterion. Valid values are taskName and processDefinition.\n        /// </summary>\n        public GroupBy GroupBy;\n\n        public HistoricTaskCountReport()\n        {\n            ReportType = ReportType.Count;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskDurationReport.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTaskDurationReport : AbstractReport\n    {\n        /// <summary>\n        /// Restrict to tasks that were completed before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? CompletedAfter;\n\n        /// <summary>\n        ///Restrict to tasks that were completed before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? CompletedBefore;\n\n        /// <summary>\n        /// When the report type is set to count, this parameter is Mandatory. Groups the tasks report by a given criterion. Valid values are taskName and processDefinition.\n        /// </summary>\n        public GroupBy? GroupBy;\n\n        public HistoricTaskDurationReport()\n        {\n            ReportType = ReportType.Duration;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricTaskQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricTaskQuery : SortableQuery<HistoricTaskSorting, HistoricTaskQuery>\n    {\n        /// <summary>\n        /// Filter by task id.\n        /// </summary>\n        public string TaskId;\n\n        /// <summary>\n        /// Filter by parent task id.\n        /// </summary>\n        public string TaskParentTaskId;\n\n        /// <summary>\n        /// Filter by process instance id.\n        /// </summary>\n        public string ProcessInstanceId;\n\n        /// <summary>\n        /// Filter by process instance business key.\n        /// </summary>\n        [JsonProperty(\"processInstanceBusinessKey\")]\n        public string BusinessKey;\n\n        /// <summary>\n        /// Filter by process instances with one of the give business keys. The keys need to be in a comma-separated list.\n        /// </summary>\n        [JsonProperty(\"ProcessInstanceBusinessKeyIn\")]\n        public List<string> ProcessInstanceBusinessKeys;\n\n        /// <summary>\n        /// Filter by process instance business key that has the parameter value as a substring.\n        /// </summary>\n        [JsonProperty(\"processInstanceBusinessKeyLike\")]\n        public string BusinessKeyLike;\n\n        /// <summary>\n        /// Filter by the id of the execution that executed the task.\n        /// </summary>\n        public string ExecutionId;\n\n        /// <summary>\n        /// Filter by process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with the given key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with the given name.\n        /// </summary>\n        public string ProcessDefinitionName;\n\n        /// <summary>\n        /// Filter by case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// \tFilter by the id of the case execution that executed the task.\n        /// </summary>\n        public string CaseExecutionId;\n\n        /// <summary>\n        /// Filter by case definition id.\n        /// </summary>\n        public string CaseDefinitionId;\n\n        /// <summary>\n        /// Restrict to tasks that belong to a case definition with the given key.\n        /// </summary>\n        public string CaseDefinitionKey;\n\n        /// <summary>\n        /// Restrict to tasks that belong to a case definition with the given name.\n        /// </summary>\n        public string CaseDefinitionName;\n\n        /// <summary>\n        /// Only include tasks which belong to one of the passed and comma-separated activity instance ids.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceIds;\n\n        /// <summary>\n        /// Restrict to tasks that have the given name.\n        /// </summary>\n        public string TaskName;\n\n        /// <summary>\n        /// Restrict to tasks that have a name with the given parameter value as substring.\n        /// </summary>\n        public string TaskNameLike;\n\n        /// <summary>\n        /// Restrict to tasks that have the given description.\n        /// </summary>\n        public string TaskDescription;\n\n        /// <summary>\n        /// Restrict to tasks that have a description that has the parameter value as a substring.\n        /// </summary>\n        public string TaskDescriptionLike;\n\n        /// <summary>\n        /// Restrict to tasks that have the given key.\n        /// </summary>\n        public string TaskDefinitionKey;\n\n        /// <summary>\n        /// Restrict to tasks that have one of the passed and comma-separated task definition keys.\n        /// </summary>\n        [JsonProperty(\"taskDefinitionKeyIn\")]\n        public List<string> TaskDefinitionKeys;\n\n        /// <summary>\n        /// Restrict to tasks that have the given delete reason.\n        /// </summary>\n        public string TaskDeleteReason;\n\n        /// <summary>\n        /// Restrict to tasks that have a delete reason that has the parameter value as a substring.\n        /// </summary>\n        public string TaskDeleteReasonLike;\n\n        /// <summary>\n        /// Restrict to tasks that the given user is assigned to.\n        /// </summary>\n        public string TaskAssignee;\n\n        /// <summary>\n        /// Restrict to tasks that are assigned to users with the parameter value as a substring.\n        /// </summary>\n        public string TaskAssigneeLike;\n\n        /// <summary>\n        /// Restrict to tasks that the given user owns.\n        /// </summary>\n        public string TaskOwner;\n\n        /// <summary>\n        /// Restrict to tasks that are owned by users with the parameter value as a substring.\n        /// </summary>\n        public string TaskOwnerLike;\n\n        /// <summary>\n        /// Restrict to tasks that have the given priority.\n        /// </summary>\n        public long? TaskPriority;\n\n        /// <summary>\n        /// If set to true, restricts the query to all tasks that are assigned.\n        /// </summary>\n        public bool? Assigned;\n\n        /// <summary>\n        /// If set to true, restricts the query to all tasks that are unassigned.\n        /// </summary>\n        public bool? Unassigned;\n\n        /// <summary>\n        /// Only include finished tasks. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Finished;\n\n        /// <summary>\n        /// Only include unfinished tasks. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Unfinished;\n\n        /// <summary>\n        /// Only include tasks of finished processes. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? ProcessFinished;\n\n        /// <summary>\n        /// Only include tasks of unfinished processes. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? ProcessUnfinished;\n\n        /// <summary>\n        /// Restrict to tasks that are due on the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskDueDate;\n\n        /// <summary>\n        /// Restrict to tasks that are due before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskDueDateBefore;\n\n        /// <summary>\n        /// Restrict to tasks that are due after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskDueDateAfter;\n\n        /// <summary>\n        /// Restrict to tasks that have a followUp date on the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskFollowUpDate;\n\n        /// <summary>\n        /// Restrict to tasks that have a followUp date before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskFollowUpDateBefore;\n\n        /// <summary>\n        /// Restrict to tasks that have a followUp date after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? TaskFollowUpDateAfter;\n\n        /// <summary>\n        /// Restrict to tasks that were started before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? StartedBefore;\n\n        /// <summary>\n        /// Restrict to tasks that were started after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? StartedAfter;\n\n        /// <summary>\n        /// Restrict to tasks that were finished before the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? FinishedBefore;\n\n        /// <summary>\n        /// Restrict to tasks that were finished after the given date. By default*, the date must have the format yyyy-MM-dd'T'HH:mm:ss.SSSZ, e.g., 2013-01-23T14:42:45.000+0200.\n        /// </summary>\n        public DateTime? FinishedAfter;\n\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A task instance must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n\n        /// <summary>\n        /// Only include historic task instances that belong to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? WithoutTenantId;\n\n        /// <summary>\n        /// Only include tasks that have variables with certain values. Variable filtering expressions are comma-separated and are structured as follows:\n        ///A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.\n        ///  Note: Values are always treated as String objects on server side.\n        ///Valid operator values are: eq - equal to; neq - not equal to; gt - greater than; gteq - greater than or equal to; lt - lower than; lteq - lower than or equal to; like.\n        /// key and value may not contain underscore or comma characters.\n        /// </summary>\n        public List<VariableQueryParameter> TaskVariables;\n\n        /// <summary>\n        /// Only include tasks that belong to process instances that have variables with certain values. Variable filtering expressions are comma-separated and are structured as follows:\n        ///A valid parameter value has the form key_operator_value.key is the variable name, operator is the comparison operator to be used and value the variable value.\n        ///  Note: Values are always treated as String objects on server side.\n        ///Valid operator values are: eq - equal to; neq - not equal to; gt - greater than; gteq - greater than or equal to; lt - lower than; lteq - lower than or equal to; like.\n        ///key and value may not contain underscore or comma characters.\n        /// </summary>\n        public List<VariableQueryParameter> ProcessVariables;\n\n        /// <summary>\n        /// Match the variable name provided in taskVariables and processVariables case-insensitively. If set to true variableName and variablename are treated as equal.\n        /// </summary>\n        [JsonProperty(\"variableNamesIgnoreCase\")]\n        public bool? VariableNamesIgnoreCase;\n\n        /// <summary>\n        /// Match the variable value provided in taskVariables and processVariables case-insensitively. If set to true variableValue and variablevalue are treated as equal.\n        /// </summary>\n        [JsonProperty(\"variableValuesIgnoreCase\")]\n        public bool? VariableValuesIgnoreCase;\n\n        /// <summary>\n        /// Restrict to tasks with a historic identity link to the given user\n        /// </summary>\n        public string TaskInvolvedUser;\n\n        /// <summary>\n        /// Restrict to tasks with a historic identity link to the given group.\n        /// </summary>\n        public string TaskInvolvedGroup;\n\n        /// <summary>\n        /// Restrict to tasks with a historic identity link to the given candidate user.\n        /// </summary>\n        public string TaskHadCandidateUser;\n\n        /// <summary>\n        /// Restrict to tasks with a historic identity link to the given candidate group.\n        /// </summary>\n        public string TaskHadCandidateGroup;\n\n        /// <summary>\n        /// Only include tasks which have a candidate group. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? WithCandidateGroups;\n\n        /// <summary>\n        /// Only include tasks which have no candidate group. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? WithoutCandidateGroups;\n    }\n\n    public enum HistoricTaskSorting\n    {\n        TaskId,\n        ActivityInstanceId,\n        ProcessDefinitionId,\n        ProcessInstanceId,\n        ExecutionId,\n        Duration,\n        EndTime,\n        StartTime,\n        TaskName,\n        TaskDescription,\n        Assignee,\n        Owner,\n        DueDate,\n        FollowUpDate,\n        DeleteReason,\n        TaskDefinitionKey,\n        Priority,\n        CaseDefinitionId,\n        CaseInstanceId,\n        CaseExecutionId,\n        TenantId\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricUserTaskService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricUserTaskService\n    {\n        private IHistoricUserTaskRestService _api;\n\n        internal HistoricUserTaskService(IHistoricUserTaskRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<HistoricTaskQuery, HistoricTask> Query(HistoricTaskQuery query = null) =>\n            new QueryResource<HistoricTaskQuery, HistoricTask>(query, _api.GetList, _api.GetListCount);\n\n        /// <summary>\n        /// Retrieves a report of completed tasks. When the report type is set to count, the report contains a list of completed task counts where an entry contains the task name, the definition key of the task, the process definition id, the process definition key, the process definition name and the count of how many tasks were completed for the specified key in a given period. When the report type is set to duration, the report contains a minimum, maximum and average duration value of all completed task instances in a given period.\n        /// </summary>\n        /// <param name=\"historicTaskReport\"></param>\n        /// <returns></returns>\n        public Task<List<DurationReportResult>> GetDurationReport(HistoricTaskDurationReport historicTaskReport) => _api.GetDurationReport(historicTaskReport);\n\n        /// <summary>\n        /// Retrieves a report of completed tasks. When the report type is set to count, the report contains a list of completed task counts where an entry contains the task name, the definition key of the task, the process definition id, the process definition key, the process definition name and the count of how many tasks were completed for the specified key in a given period. When the report type is set to duration, the report contains a minimum, maximum and average duration value of all completed task instances in a given period.\n        /// </summary>\n        /// <param name=\"historicTaskReport\"></param>\n        /// <returns></returns>\n        public Task<List<CountReportResult>> GetCountReport(HistoricTaskCountReport historicTaskReport) => _api.GetCountReport(historicTaskReport);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstance.cs",
    "content": "﻿using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstance : VariableValue\n    {\n        /// <summary>\n        /// The id of the variable instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The name of the variable instance.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// The key of the process definition the variable instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The id of the process definition the variable instance belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id the process instance belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The execution id the variable instance belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the activity instance in which the variable is valid.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// The key of the case definition the variable instance belongs to.\n        /// </summary>\n        public string CaseDefinitionKey;\n        /// <summary>\n        /// The id of the case definition the variable instance belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n        /// <summary>\n        /// The case instance id the variable instance belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// The case execution id the variable instance belongs to.\n        /// </summary>\n        public string CaseExecutionId;\n        /// <summary>\n        /// The id of the task the variable instance belongs to.\n        /// </summary>\n        public string TaskId;\n        /// <summary>\n        /// The id of the tenant that this variable instance belongs to.\n        /// </summary>\n        public string ErrorMessage;\n        /// <summary>\n        /// An error message in case a Java Serialized Object could not be de-serialized.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The current state of the variable. \n        /// </summary>\n        public HistoricVariableInstanceState State;\n\n        public override string ToString() => $\"{Name} = {base.ToString()}\";\n    }\n\n    public enum HistoricVariableInstanceState\n    {\n        /// <summary>\n        /// Created\n        /// </summary>\n        [EnumMember(Value = \"CREATED\")]\n        Created,\n\n        /// <summary>\n        /// Deleted\n        /// </summary>\n        [EnumMember(Value = \"DELETED\")]\n        Deleted,\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstanceQuery : SortableQuery<HistoricVariableInstanceQuerySorting, HistoricVariableInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by the process instance the variable belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by the case instance the variable belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// Filter by variable name.\n        /// </summary>\n        public string VariableName;\n        /// <summary>\n        /// Restrict to variables with a name like the parameter.\n        /// </summary>\n        public string VariableNameLike;\n        /// <summary>\n        /// Filter by variable value. May be <c>String</c>, <c>Number</c> or <c>Boolean</c>.\n        /// </summary>\n        public object VariableValue;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed execution ids.\n        /// </summary>\n        [JsonProperty(\"executionIdIn\")]\n        public List<string> ExecutionIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed task ids.\n        /// </summary>\n        [JsonProperty(\"taskIdIn\")]\n        public List<string> TaskIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed activity instance ids.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed case execution ids.\n        /// </summary>\n        [JsonProperty(\"CaseExecutionIdIn\")]\n        public List<string> CaseExecutionIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed case activity ids.\n        /// </summary>\n        [JsonProperty(\"caseActivityIdIn\")]\n        public List<string> CaseActivityIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed process instance ids.\n        /// </summary>\n        [JsonProperty(\"processInstanceIdIn\")]\n        public List<string> ProcessInstanceIds;\n        /// <summary>\n        /// Only include historic variable instances which belong to one of the passed and comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds;\n    }\n\n    public enum HistoricVariableInstanceQuerySorting\n    {\n        InstanceId,\n        VariableName,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceQueryResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstanceQueryResource\n    {\n        private IHistoricVariableInstanceRestService _api;\n        private HistoricVariableInstanceQuery _query;\n\n        internal HistoricVariableInstanceQueryResource(IHistoricVariableInstanceRestService api, HistoricVariableInstanceQuery query)\n        {\n            _api = api;\n            _query = query;\n        }\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        public Task<List<HistoricVariableInstance>> List() => _api.GetList(_query, null, null);\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        /// <param name=\"firstResult\">Pagination of results. Specifies the index of the first result to return.</param>\n        /// <param name=\"maxResults\">Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.</param>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<List<HistoricVariableInstance>> List(int firstResult, int maxResults, bool deserializeValues = true) => _api.GetList(_query, firstResult, maxResults, deserializeValues);\n\n        /// <summary>\n        /// Get number of variable instances that fulfill given parameters.\n        /// </summary>\n        public async Task<int> Count() => (await _api.GetListCount(_query)).Count;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceResource.cs",
    "content": "﻿using System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstanceResource\n    {\n        private IHistoricVariableInstanceRestService _api;\n        private string _variableId;\n\n        internal HistoricVariableInstanceResource(IHistoricVariableInstanceRestService api, string variableId)\n        {\n            _api = api;\n            _variableId = variableId;\n        }\n\n        /// <summary>\n        /// Retrieves a historic variable by id.\n        /// </summary>\n        /// <param name=\"deserializeValue\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<HistoricVariableInstance> Get(bool deserializeValue = true) => _api.Get(_variableId, deserializeValue);\n\n        /// <summary>\n        /// Retrieves the content of a historic variable by id. Applicable for variables that are serialized as binary data.\n        /// </summary>\n        /// <returns></returns>\n        public async Task<HttpContent> GetBinary() => (await _api.GetBinaryVariable(_variableId)).Content;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoricVariableInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoricVariableInstanceService\n    {\n        private IHistoricVariableInstanceRestService _api;\n\n        internal HistoricVariableInstanceService(IHistoricVariableInstanceRestService api)\n        {\n            _api = api;\n        }\n\n        public HistoricVariableInstanceQueryResource Query(HistoricVariableInstanceQuery query = null) =>\n            new HistoricVariableInstanceQueryResource(_api, query ?? new HistoricVariableInstanceQuery());\n\n        /// <param name=\"variableId\">The id of the variable instance.</param>\n        public HistoricVariableInstanceResource this[string variableId] => new HistoricVariableInstanceResource(_api, variableId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/HistoryService.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class HistoryService\n    {\n        private CamundaClient.HistoricApi _api;\n\n        internal HistoryService(CamundaClient.HistoricApi api)\n        {\n            _api = api;\n        }\n\n        /// <summary>\n        /// Case Definition\n        /// </summary>\n        public HistoricCaseDefinitionService CaseDefinitions => new HistoricCaseDefinitionService(_api.CaseDefinitionApi.Value);\n\n        /// <summary>\n        /// Case Instance\n        /// </summary>\n        public HistoricCaseInstanceService CaseInstances => new HistoricCaseInstanceService(_api.CaseInstanceApi.Value);\n\n        /// <summary>\n        /// Case Activity Instance\n        /// </summary>\n        public HistoricCaseActivityInstanceService CaseActivityInstances => new HistoricCaseActivityInstanceService(_api.CaseActivityInstanceApi.Value);\n\n        /// <summary>\n        /// Decision Instance\n        /// </summary>\n        public HistoricDecisionInstanceService DecisionInstances => new HistoricDecisionInstanceService(_api.DecisionInstanceApi.Value);\n\n        /// <summary>\n        /// Process Instance\n        /// </summary>\n        public HistoricProcessInstanceService ProcessInstances => new HistoricProcessInstanceService(_api.ProcessInstanceApi.Value);\n\n        /// <summary>\n        /// Activity Instance\n        /// </summary>\n        public HistoricActivityInstanceService ActivityInstances => new HistoricActivityInstanceService(_api.ActivityInstanceApi.Value);\n\n        /// <summary>\n        /// Job Log\n        /// </summary>\n        public HistoricJobLogService JobLogs => new HistoricJobLogService(_api.JobLogApi.Value);\n\n        /// <summary>\n        /// Incident\n        /// </summary>\n        public HistoricIncidentService Incidents => new HistoricIncidentService(_api.IncidentApi.Value);\n\n        /// <summary>\n        /// Variable Instance\n        /// </summary>\n        public HistoricVariableInstanceService VariableInstances => new HistoricVariableInstanceService(_api.VariableInstanceApi.Value);\n\n        /// <summary>\n        /// Detail\n        /// </summary>\n        public HistoricDetailService Detail => new HistoricDetailService(_api.DetailApi.Value);\n\n        /// <summary>\n        /// User Task\n        /// </summary>\n        public HistoricUserTaskService UserTasks => new HistoricUserTaskService(_api.UserTaskApi.Value);\n\n        /// <summary>\n        /// Process Definition\n        /// </summary>\n        public HistoricProcessDefinitionService ProcessDefinitions => new HistoricProcessDefinitionService(_api.ProcessDefinitionApi.Value);\n\n        /// <summary>\n        /// External Tas kLog\n        /// </summary>\n        public HistoricExternalTaskLogService ExternalTaskLogs => new HistoricExternalTaskLogService(_api.ExternalTaskLogApi.Value);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricActivityInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricActivityInstanceRestService\n    {\n        [Get(\"/history/activity-instance/{id}\")]\n        Task<HistoricActivityInstance> Get(string id);\n\n        [Post(\"/history/activity-instance\")]\n        Task<List<HistoricActivityInstance>> GetList([Body] HistoricActivityInstanceQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/activity-instance/count\")]\n        Task<CountResult> GetListCount([Body] HistoricActivityInstanceQuery query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseActivityInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricCaseActivityInstanceRestService\n    {\n        [Get(\"/history/case-activity-instance/{id}\")]\n        Task<HistoricCaseActivityInstance> Get(string id);\n\n        [Get(\"/history/case-activity-instance\")]\n        Task<List<HistoricCaseActivityInstance>> GetList(string caseInstanceId, int? firstResult, int? maxResults);\n\n        [Get(\"/history/case-activity-instance/count\")]\n        Task<CountResult> GetListCount(string caseInstanceId);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseDefinitionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricCaseDefinitionRestService\n    {\n        [Get(\"/history/case-definition/{id}/statistics\")]\n        Task<List<HistoricCaseDefinitionStatisticsResult>> GetActivityStatistics(string id);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricCaseInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricCaseInstanceRestService\n    {\n        [Get(\"/history/case-instance/{id}\")]\n        Task<HistoricCaseInstance> Get(string id);\n\n        [Post(\"/history/case-instance\")]\n        Task<List<HistoricCaseInstance>> GetList([Body]HistoricCaseInstanceQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/case-instance/count\")]\n        Task<CountResult> GetListCount([Body] HistoricCaseInstanceQuery query);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricDecisionInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricDecisionInstanceRestService\n    {\n        [Get(\"/history/decision-instance/{id}\")]\n        Task<HistoricDecisionInstance> Get(string id);\n\n        [Get(\"/history/decision-instance\")]\n        Task<List<HistoricDecisionInstance>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/history/decision-instance/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricDetailRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricDetailRestService\n    {\n        [Get(\"/history/detail/{id}\")]\n        Task<HistoricDetail> Get(string id);\n\n        [Get(\"/history/detail\")]\n        Task<List<HistoricDetail>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/history/detail/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/history/detail/{id}/data\")]\n        Task<HttpResponseMessage> GetData(string id);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricExternalTaskLogRestService.cs",
    "content": "﻿using Refit;\nusing System;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricExternalTaskLogRestService\n    {\n        [Post(\"/history/external-task-log\")]\n        Task<List<HistoricExternalTaskLog>> GetList([Body] HistoricExternalTaskLogQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/external-task-log/count\")]\n        Task<CountResult> GetListCount([Body] HistoricExternalTaskLogQuery query);\n\n        [Get(\"/history/external-task-log/{id}\")]\n        Task<HistoricExternalTaskLog> Get(string id);\n\n        [Get(\"/history/external-task-log/{id}/error-details\")]\n        Task<string> GetErrorDetails(string id);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricIncidentRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricIncidentRestService\n    {\n        [Get(\"/history/incident\")]\n        Task<List<HistoricIncident>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/history/incident/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricJobLogRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricJobLogRestService\n    {\n        [Get(\"/history/job-log/{id}\")]\n        Task<HistoricJobLog> Get(string id);\n\n        [Post(\"/history/job-log\")]\n        Task<List<HistoricJobLog>> GetList([Body] HistoricJobLogQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/job-log/count\")]\n        Task<CountResult> GetListCount([Body] HistoricJobLogQuery query);\n\n        [Get(\"/history/job-log/{id}/stacktrace\")]\n        Task<HttpResponseMessage> GetStacktrace(string id);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricProcessDefinitionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricProcessDefinitionRestService\n    {\n        [Get(\"/history/process-definition/{id}/statistics\")]\n        Task<List<HistoricActivityStatisticsResult>> GetHistoricActivityStatistics(string id, QueryDictionary query);\n\n        [Get(\"/history/process-definition/cleanable-process-instance-report\")]\n        Task<List<CleanableProcessInstanceReportResult>> GetCleanableProcessInstanceReport(QueryDictionary query);\n\n        [Get(\"/history/process-definition/cleanable-process-instance-report/count\")]\n        Task<CountResult> GetCleanableProcessInstanceReportCount(QueryDictionary query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricProcessInstanceRestService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricProcessInstanceRestService\n    {\n        [Get(\"/history/process-instance/{id}\")]\n        Task<HistoricProcessInstance> Get(string id);\n\n        [Post(\"/history/process-instance\")]\n        Task<List<HistoricProcessInstance>> GetList([Body] HistoricProcessInstanceQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/process-instance/count\")]\n        Task<CountResult> GetListCount([Body] HistoricProcessInstanceQuery query);\n\n        [Delete(\"/history/process-instance/{id}\")]\n        Task Delete(string id);\n\n        [Get(\"/history/process-instance/report\")]\n        Task<List<DurationReportResult>> GetDurationReport(QueryDictionary query);\n\n        [Post(\"/history/process-instance/delete\")]\n        Task<BatchInfo> DeleteAsync([Body] DeleteHistoricProcessInstances deleteHistoricProcessInstances);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricUserTaskRestService.cs",
    "content": "﻿using Refit;\nusing System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricUserTaskRestService\n    {\n        [Post(\"/history/task\")]\n        Task<List<HistoricTask>> GetList([Body] HistoricTaskQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/history/task/count\")]\n        Task<CountResult> GetListCount([Body] HistoricTaskQuery query);\n\n        [Get(\"/history/task/report\")]\n        Task<List<DurationReportResult>> GetDurationReport(QueryDictionary query);\n\n        [Get(\"/history/task/report\")]\n        Task<List<CountReportResult>> GetCountReport(QueryDictionary query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/IHistoricVariableInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.History\n{\n    internal interface IHistoricVariableInstanceRestService\n    {\n        [Get(\"/history/variable-instance/{id}\")]\n        Task<HistoricVariableInstance> Get(string id, bool deserializeValue = true);\n\n        [Post(\"/history/variable-instance\")]\n        Task<List<HistoricVariableInstance>> GetList([Body] HistoricVariableInstanceQuery query, int? firstResult, int? maxResults, bool deserializeValues = true);\n\n        [Post(\"/history/variable-instance/count\")]\n        Task<CountResult> GetListCount([Body] HistoricVariableInstanceQuery query);\n\n        [Get(\"/history/variable-instance/{id}/data\")]\n        Task<HttpResponseMessage> GetBinaryVariable(string id);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/History/ReportResult.cs",
    "content": "﻿namespace Camunda.Api.Client.History\n{\n    public class ReportResult\n    {\n        /// <summary>\n        /// Specifies a timespan within a year. The period must be interpreted in conjunction with the returned <see cref=\"PeriodUnit\"/>.\n        /// </summary>\n        public int Period;\n        /// <summary>\n        /// The unit of the given period.\n        /// </summary>\n        public PeriodUnit PeriodUnit;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/HttpContentMultipartItem.cs",
    "content": "﻿using Refit;\nusing System;\nusing System.Net.Http;\n\nnamespace Camunda.Api.Client\n{\n    public class HttpContentMultipartItem<T> : MultipartItem\n        where T : HttpContent\n    {\n        public HttpContentMultipartItem(T content, string fileName = \"\") : base(fileName, null)\n        {\n            Content = content ?? throw new ArgumentNullException(\"content\");\n        }\n\n        public T Content { get; set; }\n\n        protected override HttpContent CreateContent()\n        {\n            return Content;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/IVariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client\n{\n    public interface IVariableResource\n    {\n        Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValue = true);\n        Task<VariableValue> Get(string variableName, bool deserializeValues = true);\n        Task<HttpContent> GetBinary(string variableName);\n        Task Set(string variableName, VariableValue variable);\n        Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType);\n        Task Delete(string variableName);\n        Task Modify(PatchVariables patch);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IIdentityRestService.cs",
    "content": "﻿using Refit;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Identity\n{\n    internal interface IIdentityRestService\n\t{\n\t\t[Get(\"/identity/groups\")]\n\t\tTask<IdentityGroupMembership> GetMembership(QueryDictionary query);\n\n\t\t[Post(\"/identity/verify\")]\n\t\tTask<IdentityVerifiedUser> Verify([Body]IdentityUserCredentials credentials);\n\t}\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityGroupMembership.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public class IdentityGroupMembership\n    {\n        public IdentityGroupMembership()\n        {\n            Groups = new List<IdentityGroup>();\n            GroupUsers = new List<IdentityUser>();\n        }\n        /// <summary>\n        /// List of groups the user is a member of\n        /// </summary>\n        [JsonProperty(\"groups\")]\n        public List<IdentityGroup> Groups { get; set; }\n        /// <summary>\n        /// List of users who are members of any of the groups \n        /// </summary>\n        [JsonProperty(\"groupUsers\")]\n        public List<IdentityUser> GroupUsers { get; set; }\n    }\n\n    public class IdentityGroup\n    {\n        public string Id;\n        public string Name;\n        public override string ToString() => Id;\n    }\n    public class IdentityUser\n    {\n        public string Id;\n        public string FirstName;\n        public string LastName;\n        public string DisplayName;\n        public override string ToString() => Id;\n    }\n\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityQuery.cs",
    "content": "﻿namespace Camunda.Api.Client.Identity\n{\n    public class IdentityQuery : QueryParameters\n    {\n        /// <summary>\n        /// The id of the user to get the groups for.\n        /// </summary>\n        public string UserId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityService.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public class IdentityService\n    {\n        private IIdentityRestService _api;\n\n        internal IdentityService(IIdentityRestService api) { _api = api; }\n\n        /// <param name=\"userId\">The id of the user whose group membership is to be retrieved.</param>\n        public Task<IdentityGroupMembership> GetMembership(string userId) => _api.GetMembership(new IdentityQuery() { UserId = userId });\n\n        /// <summary>\n        /// Create a new user.\n        /// </summary>\n        /// <param name=\"username\">The user's profile</param>\n        /// <param name=\"password\">The user's password.</param>\n        /// <returns></returns>\n        public Task<IdentityVerifiedUser> Verify(string username, string password) => \n            _api.Verify(new IdentityUserCredentials() { Username = username, Password = password });\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityUserCredentials.cs",
    "content": "﻿namespace Camunda.Api.Client.Identity\n{\n    internal class IdentityUserCredentials\n    {\n        /// <summary>\n        /// The id of the user to verify\n        /// </summary>\n        public string Username;\n        /// <summary>\n        /// The password of the user to verify\n        /// </summary>\n        public string Password;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Identity/IdentityVerifiedUser.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\n\nnamespace Camunda.Api.Client.Identity\n{\n    public class IdentityVerifiedUser\n    {\n        /// <summary>\n        /// The id of the user\n        /// </summary>\n        public string AuthenticatedUser;\n        /// <summary>\n        /// Verification successful or not\n        /// </summary>\n        public bool Authenticated;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Incident/IIncidentRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Incident\n{\n    internal interface IIncidentRestService\n    {\n        [Get(\"/incident\")]\n        Task<List<IncidentInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/incident/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Incident\n{\n    public class IncidentInfo\n    {\n        /// <summary>\n        /// The id of the incident.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the process definition this incident is associated with.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition this incident is associated with.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the execution this incident is associated with.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The time this incident happened. Has the format yyyy-MM-dd'T'HH:mm:ss.\n        /// </summary>\n        public DateTime IncidentTimestamp;\n        /// <summary>\n        /// The type of incident, for example: failedJobs will be returned in case of an incident which identified a failed job during the execution of a process instance.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// The id of the activity this incident is associated with.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The id of the associated cause incident which has been triggered.\n        /// </summary>\n        public string CauseIncidentId;\n        /// <summary>\n        /// The id of the associated root cause incident which has been triggered.\n        /// </summary>\n        public string RootCauseIncidentId;\n        /// <summary>\n        /// The payload of this incident.\n        /// </summary>\n        public string Configuration;\n        /// <summary>\n        /// The message of this incident.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// The id of the tenant this incident is associated with.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The job definition id the incident is associated with.\n        /// </summary>\n        public string JobDefinitionId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Incident\n{\n    public class IncidentQuery : QueryParameters\n    {\n        /// <summary>\n        /// Restricts to incidents that have the given id.\n        /// </summary>\n        public string IncidentId;\n        /// <summary>\n        /// Restricts to incidents that belong to the given incident type.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// Restricts to incidents that have the given incident message.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// Restricts to incidents that belong to a process definition with the given id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Restricts to incidents that belong to a process instance with the given id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Restricts to incidents that belong to an execution with the given id.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Restricts to incidents that belong to an activity with the given id.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Restricts to incidents that have the given incident id as cause incident.\n        /// </summary>\n        public string CauseIncidentId;\n        /// <summary>\n        /// Restricts to incidents that have the given incident id as root cause incident.\n        /// </summary>\n        public string RootCauseIncidentId;\n        /// <summary>\n        /// Restricts to incidents that have the given parameter set as configuration.\n        /// </summary>\n        public string Configuration;\n        /// <summary>\n        /// Restricts to incidents that have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Restricts to incidents that have one of the given job definition ids.\n        /// </summary>\n        [JsonProperty(\"jobDefinitionIdIn\")]\n        public List<string> JobDefinitionIds = new List<string>();\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/>.\n        /// </summary>\n        public IncidentSorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/>.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum IncidentSorting\n    {\n        IncidentId,\n        IncidentTimestamp,\n        IncidentType,\n        ExecutionId,\n        ActivityId,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        CauseIncidentId,\n        RootCauseIncidentId,\n        Configuration,\n        TenantId\n    }\n\n}"
  },
  {
    "path": "Camunda.Api.Client/Incident/IncidentService.cs",
    "content": "﻿namespace Camunda.Api.Client.Incident\n{\n    public class IncidentService\n    {\n        private IIncidentRestService _api;\n\n        internal IncidentService(IIncidentRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<IncidentQuery, IncidentInfo> Query(IncidentQuery query = null) =>\n            new QueryResource<IncidentQuery, IncidentInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/IJobRestService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Job\n{\n    internal interface IJobRestService\n    {\n        [Get(\"/job/{jobId}\")]\n        Task<JobInfo> Get(string jobId);\n\n        [Post(\"/job\")]\n        Task<List<JobInfo>> GetList([Body] JobQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/job/count\")]\n        Task<CountResult> GetListCount([Body] JobQuery query);\n\n        [Get(\"/job/{jobId}/stacktrace\")]\n        Task<HttpResponseMessage> GetStacktrace(string jobId);\n\n        [Post(\"/job/{jobId}/execute\")]\n        Task ExecuteJob(string jobId);\n\n        [Put(\"/job/{jobId}/duedate\")]\n        Task SetJobDuedate(string jobId, [Body] JobDuedateInfo duedate);\n\n        [Put(\"/job/{jobId}/suspended\")]\n        Task UpdateSuspensionStateForId(string jobId, [Body] SuspensionState state);\n\n        [Put(\"/job/suspended\")]\n        Task UpdateSuspensionState([Body] JobSuspensionState state);\n\n        [Put(\"/job/{jobId}/priority\")]\n        Task SetJobPriority(string jobId, [Body] PriorityInfo priority);\n\n        [Put(\"/job/{jobId}/retries\")]\n        Task SetJobRetries(string jobId, [Body] RetriesInfo retries);\n\n        [Delete(\"/job/{jobId}\")]\n        Task DeleteJob(string jobId);\n\n        [Post(\"/job/retries\")]\n        Task<BatchInfo> SetJobRetriesAsync([Body] JobRetries retries);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobDuedateInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Job\n{\n    internal class JobDuedateInfo\n    {\n        /// <summary>\n        /// The date to set when the job has the next execution.\n        /// </summary>\n        public DateTime Duedate;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobInfo\n    {\n        /// <summary>\n        /// The id of the job.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the associated job definition.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// The id of the process instance which execution created the job.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the process definition which this job belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition which this job belongs to.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The specific execution id on which the job was created.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The message of the exception that occurred, the last time the job was executed. Is null when no exception occurred.\n        /// </summary>\n        public string ExceptionMessage;\n        /// <summary>\n        /// The number of retries this job has left.\n        /// </summary>\n        public int Retries;\n        /// <summary>\n        /// The date on which this job is supposed to be processed.\n        /// </summary>\n        public DateTime? DueDate;\n        /// <summary>\n        /// A flag indicating whether the job is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The job's priority for execution.\n        /// </summary>\n        public long Priority;\n        /// <summary>\n        /// The id of the tenant which this job belongs to.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobQuery : SortableQuery<JobQuerySorting, JobQuery>\n    {\n        /// <summary>\n        /// Only select jobs which exist for an activity with the given id.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Filter by job id.\n        /// </summary>\n        public string JobId;\n        /// <summary>\n        /// Only select jobs which exist for the given execution.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Only select jobs which exist for the given process instance.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Filter by the id of the process definition the jobs run on.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Filter by the key of the process definition the jobs run on.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Only select jobs which have retries left. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithRetriesLeft;\n        /// <summary>\n        /// Only select jobs which are executable, ie. retries > 0 and due date is null or due date is in the past. Value may only be true, as\n        /// </summary>\n        public bool Executable;\n        /// <summary>\n        /// Only select jobs that are timers. Cannot be used together with messages. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Timers;\n        /// <summary>\n        /// Only select jobs that are messages. Cannot be used together with timers. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Messages;\n        /// <summary>\n        /// Only select jobs that failed due to an exception. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithException;\n        /// <summary>\n        /// Only select jobs that failed due to an exception with the given message.\n        /// </summary>\n        public string ExceptionMessage;\n        /// <summary>\n        /// Only select jobs which have no retries left. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool NoRetriesLeft;\n        /// <summary>\n        /// Only include active jobs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Active;\n        /// <summary>\n        /// Only include suspended jobs. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// Only include jobs with a priority higher than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long? PriorityHigherThanOrEquals;\n        /// <summary>\n        /// Only include jobs with a priority lower than or equal to the given value. Value must be a valid long value.\n        /// </summary>\n        public long? PriorityLowerThanOrEquals;\n        /// <summary>\n        /// Only select jobs which exist for the given job definition.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// Only include jobs which belong to one of the passed and comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include jobs which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId;\n        /// <summary>\n        /// Include jobs which belongs to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as\n        /// </summary>\n        public bool IncludeJobsWithoutTenantId;\n        /// <summary>\n        /// Only select jobs where the due date is lower or higher than the given date.\n        /// </summary>\n        public List<ConditionQueryParameter> DueDates = new List<ConditionQueryParameter>();\n    }\n\n    public enum JobQuerySorting\n    {\n        JobId,\n        ExecutionId,\n        ProcessInstanceId,\n        ProcessDefinitionId,\n        ProcessDefinitionKey,\n        JobRetries,\n        JobDueDate,\n        JobPriority,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobResource.cs",
    "content": "﻿using System;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobResource\n    {\n        private IJobRestService _api;\n        private string _jobId;\n\n        internal JobResource(IJobRestService api, string jobId)\n        {\n            _api = api;\n            _jobId = jobId;\n        }\n\n        /// <summary>\n        /// Retrieves a single job according to the Job interface in the engine.\n        /// </summary>\n        public Task<JobInfo> Get() => _api.Get(_jobId);\n\n        /// <summary>\n        /// Retrieves the corresponding exception stacktrace to the passed job id.\n        /// </summary>\n        public async Task<string> GetStacktrace() => await (await _api.GetStacktrace(_jobId)).Content.ReadAsStringAsync();\n\n        /// <summary>\n        /// Executes the job. The execution of the job happens synchronously in the same thread.\n        /// </summary>\n        public Task Execute() => _api.ExecuteJob(_jobId);\n\n        /// <summary>\n        /// Updates the due date of a job.\n        /// </summary>\n        public Task SetDuedate(DateTime duedate) => _api.SetJobDuedate(_jobId, new JobDuedateInfo() { Duedate = duedate });\n\n        /// <summary>\n        /// Activate or suspend a given job by id.\n        /// </summary>\n        public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspensionStateForId(_jobId, new SuspensionState() { Suspended = suspended });\n\n        /// <summary>\n        /// Sets the execution priority of a job.\n        /// </summary>\n        public Task SetPriority(long priority) => _api.SetJobPriority(_jobId, new PriorityInfo() { Priority = priority });\n\n        /// <summary>\n        /// Sets the retries of the job to the given number of retries.\n        /// </summary>\n        public Task SetRetries(long retries) => _api.SetJobRetries(_jobId, new RetriesInfo() { Retries = retries });\n\n        /// <summary>\n        /// Deletes a job.\n        /// </summary>\n        public Task Delete() => _api.DeleteJob(_jobId);\n\n        public override string ToString() => _jobId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobRetries.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobRetries\n    {\n        /// <summary>\n        /// A list of job ids to set retries for.\n        /// </summary>\n        public List<string> JobIds = new List<string>();\n        /// <summary>\n        /// A job query like the request body for <see cref=\"JobService.Query(JobQuery)\"/>.\n        /// </summary>\n        public JobQuery JobQuery = new JobQuery();\n        /// <summary>\n        /// An integer representing the number of retries.\n        /// </summary>\n        public int Retries;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Job\n{\n    public class JobService\n    {\n        private IJobRestService _api;\n\n        internal JobService(IJobRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<JobQuery, JobInfo> Query(JobQuery query = null) =>\n            new QueryResource<JobQuery, JobInfo>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"jobId\">The id of the job to be retrieved.</param>\n        public JobResource this[string jobId] => new JobResource(_api, jobId);\n\n        /// <summary>\n        /// Activate or suspend jobs with the given job definition id, process definition id, process definition key or process instance id.\n        /// </summary>\n        public Task UpdateSuspensionState(JobSuspensionState state) => _api.UpdateSuspensionState(state);\n\n        /// <summary>\n        /// Create a batch to set retries of jobs asynchronously.\n        /// </summary>\n        public Task<BatchInfo> SetJobRetries(JobRetries retries) => _api.SetJobRetriesAsync(retries);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Job/JobSuspensionState.cs",
    "content": "﻿namespace Camunda.Api.Client.Job\n{\n    public class JobSuspensionState : SuspensionState\n    {\n        /// <summary>\n        /// The job definition id of the jobs to activate or suspend.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// The process instance id of the jobs to activate or suspend.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The process definition id of the jobs to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The process definition key of the jobs to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Only activate or suspend jobs of a process definition which belongs to a tenant with the given id.\n        /// </summary>\n        public string ProcessDefinitionTenantId;\n        /// <summary>\n        /// Only activate or suspend jobs of a process definition which belongs to no tenant.\n        /// </summary>\n        public bool ProcessDefinitionWithoutTenantId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/IJobDefinitionRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    internal interface IJobDefinitionRestService\n    {\n        [Get(\"/job-definition/{jobDefinitionId}\")]\n        Task<JobDefinitionInfo> Get(string jobDefinitionId);\n\n        [Post(\"/job-definition\")]\n        Task<List<JobDefinitionInfo>> GetList([Body] JobDefinitionQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/job-definition/count\")]\n        Task<CountResult> GetListCount([Body] JobDefinitionQuery query);\n\n        [Put(\"/job-definition/suspended\")]\n        Task UpdateSuspensionState([Body]JobDefinitionSuspensionState state);\n\n        [Put(\"/job-definition/{jobDefinitionId}/suspended\")]\n        Task UpdateSuspensionStateForId(string jobDefinitionId, [Body] SuspensionState suspensionState);\n\n        [Put(\"/job-definition/{jobDefinitionId}/retries\")]\n        Task SetJobRetries(string jobDefinitionId, [Body] RetriesInfo retries);\n\n        [Put(\"/job-definition/{jobDefinitionId}/jobPriority\")]\n        Task SetJobPriority(string jobDefinitionId, [Body] JobDefinitionPriority priority);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionInfo\n    {\n        /// <summary>\n        /// The id of the job definition.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the process definition this job definition is associated with.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The key of the process definition this job definition is associated with.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// The type of the job which is running for this job definition, for example: asynchronous continuation, timer etc.\n        /// </summary>\n        public string JobType;\n        /// <summary>\n        /// The configuration of a job definition provides details about the jobs which will be created, for example: for timer jobs it is the timer configuration.\n        /// </summary>\n        public string JobConfiguration;\n        /// <summary>\n        /// The id of the activity this job definition is associated with.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Indicates whether this job definition is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The execution priority defined for jobs that are created based on this definition. May be null when the priority has not been overridden on the job definition level.\n        /// </summary>\n        public long? OverridingJobPriority;\n        /// <summary>\n        /// The id of the tenant this job definition is associated with.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionPriority.cs",
    "content": "﻿namespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionPriority\n    {\n        /// <summary>\n        /// The new execution priority number for jobs of the given definition. \n        /// The definition's priority can be reset by using the value null. In that case, the job definition's priority no longer applies but a new job's priority is determined as specified in the process model.\n        /// </summary>\n        public long? Priority;\n\n        /// <summary>\n        /// A boolean value indicating whether existing jobs of the given definition should receive the priority as well. Can only be true when <see cref=\"Priority\"/> is not null.\n        /// </summary>\n        public bool IncludeJobs;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionQuery : SortableQuery<JobDefinitionSorting, JobDefinitionQuery>\n    {\n        /// <summary>\n        /// Filter by job definition id.\n        /// </summary>\n        public string JobDefinitionId;\n        /// <summary>\n        /// Only include job definitions which belong to one of the passed activity ids.\n        /// </summary>\n        [JsonProperty(\"activityIdIn\")]\n        public List<string> ActivityIds = new List<string>();\n        /// <summary>\n        /// Only include job definitions which exist for the given process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Only include job definitions which exist for the given process definition key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Only include job definitions which exist for the given job type.\n        /// </summary>\n        public string JobType;\n        /// <summary>\n        /// Only include job definitions which exist for the given job configuration.\n        /// </summary>\n        public string JobConfiguration;\n        /// <summary>\n        /// Only include active job definitions.\n        /// </summary>\n        public bool Active;\n        /// <summary>\n        /// Only include suspended job definitions.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// Only include job definitions that have an overriding job priority defined.\n        /// </summary>\n        public bool WithOverridingJobPriority;\n        /// <summary>\n        /// Only include job definitions which belong to one of the passed and comma-separated tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include job definitions which belongs to no tenant.\n        /// </summary>\n        public bool WithoutTenantId;\n        /// <summary>\n        /// Include job definitions which belongs to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool IncludeJobDefinitionsWithoutTenantId;\n    }\n\n    public enum JobDefinitionSorting\n    {\n        JobDefinitionId,\n        ActivityId,\n        ProcessDefinitionId,\n        ProcessDefinitionKey,\n        JobType,\n        JobConfiguration,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionResource\n    {\n        private string _jobDefinitionId;\n        private IJobDefinitionRestService _api;\n\n        internal JobDefinitionResource(IJobDefinitionRestService api, string jobDefinitionId)\n        {\n            _api = api;\n            _jobDefinitionId = jobDefinitionId;\n        }\n\n        /// <summary>\n        /// Retrieves a single job definition according to the JobDefinition interface in the engine.\n        /// </summary>\n        public Task<JobDefinitionInfo> Get() => _api.Get(_jobDefinitionId);\n\n        /// <summary>\n        /// Activate or suspend a given job definition by id.\n        /// </summary>\n        public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspensionStateForId(_jobDefinitionId, new SuspensionState() { Suspended = suspended });\n\n        /// <summary>\n        /// Set the number of retries of all failed jobs associated with the given job definition id.\n        /// </summary>\n        public Task SetRetries(long retries) => _api.SetJobRetries(_jobDefinitionId, new RetriesInfo() { Retries = retries });\n\n        /// <summary>\n        /// Set an overriding execution priority for jobs with the given definition id. \n        /// Optionally, the priorities of all the definition’s existing jobs are updated accordingly.\n        /// The priority can be reset by setting it to null, meaning that a new job’s priority will not be determined based on its definition’s priority any longer. \n        /// </summary>\n        /// <param name=\"priority\"></param>\n        /// <returns></returns>\n        public Task SetPriority(JobDefinitionPriority priority) => _api.SetJobPriority(_jobDefinitionId, priority);\n\n        public override string ToString() => _jobDefinitionId;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionService.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionService\n    {\n        private IJobDefinitionRestService _api;\n\n        internal JobDefinitionService(IJobDefinitionRestService api)\n        {\n            _api = api;\n        }\n\n        public QueryResource<JobDefinitionQuery, JobDefinitionInfo> Query(JobDefinitionQuery query = null) =>\n            new QueryResource<JobDefinitionQuery, JobDefinitionInfo>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"jobDefinitionId\">The id of the job to be retrieved.</param>\n        public JobDefinitionResource this[string jobDefinitionId] => new JobDefinitionResource(_api, jobDefinitionId);\n\n        /// <summary>\n        /// Activate or suspend jobs with the given job definition id, process definition id, process definition key or process instance id.\n        /// </summary>\n        public Task UpdateSuspensionState(JobDefinitionSuspensionState state) => _api.UpdateSuspensionState(state);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/JobDefinition/JobDefinitionSuspensionState.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.JobDefinition\n{\n    public class JobDefinitionSuspensionState : SuspensionState\n    {\n        /// <summary>\n        /// The date on which the given job definition will be activated or suspended. If <c>null</c>, the suspension state of the given job definition is updated immediately\n        /// </summary>\n        public DateTime? ExecutionDate;\n        /// <summary>\n        /// A Boolean value which indicates whether to activate or suspend also all jobs of the given job definition.\n        /// When the value is set to true, all jobs of the provided job definition will be activated or suspended and when the value is set to false, the suspension state of all jobs of the provided job definition will not be updated.\n        /// </summary>\n        public bool IncludeJobs;\n        /// <summary>\n        /// The process definition id of the job definitions to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The process definition key of the job definitions to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Only activate or suspend job definitions of a process definition which belongs to a tenant with the given id.\n        /// </summary>\n        public string ProcessDefinitionTenantId;\n        /// <summary>\n        /// Only activate or suspend job definitions of a process definition which belongs to no tenant.\n        /// </summary>\n        public bool ProcessDefinitionWithoutTenantId;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/MediaTypes.cs",
    "content": "﻿using System;\n\nnamespace Iana\n{\n    public class MediaTypes\n    {\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the application type.\n        /// </summary>\n        public class Application\n        {\n            /// <summary>application/1d-interleaved-parityfec</summary>\n            public const string _1dInterleavedParityfec = \"application/1d-interleaved-parityfec\";\n            /// <summary>application/3gpdash-qoe-report+xml</summary>\n            public const string _3gpdashQoeReportXml = \"application/3gpdash-qoe-report+xml\";\n            /// <summary>application/3gpp-ims+xml</summary>\n            public const string _3gppImsXml = \"application/3gpp-ims+xml\";\n            /// <summary>application/activemessage</summary>\n            public const string Activemessage = \"application/activemessage\";\n            /// <summary>application/alto-costmap+json</summary>\n            public const string AltoCostmapJson = \"application/alto-costmap+json\";\n            /// <summary>application/alto-costmapfilter+json</summary>\n            public const string AltoCostmapfilterJson = \"application/alto-costmapfilter+json\";\n            /// <summary>application/alto-directory+json</summary>\n            public const string AltoDirectoryJson = \"application/alto-directory+json\";\n            /// <summary>application/alto-endpointprop+json</summary>\n            public const string AltoEndpointpropJson = \"application/alto-endpointprop+json\";\n            /// <summary>application/alto-endpointpropparams+json</summary>\n            public const string AltoEndpointpropparamsJson = \"application/alto-endpointpropparams+json\";\n            /// <summary>application/alto-endpointcost+json</summary>\n            public const string AltoEndpointcostJson = \"application/alto-endpointcost+json\";\n            /// <summary>application/alto-endpointcostparams+json</summary>\n            public const string AltoEndpointcostparamsJson = \"application/alto-endpointcostparams+json\";\n            /// <summary>application/alto-error+json</summary>\n            public const string AltoErrorJson = \"application/alto-error+json\";\n            /// <summary>application/alto-networkmapfilter+json</summary>\n            public const string AltoNetworkmapfilterJson = \"application/alto-networkmapfilter+json\";\n            /// <summary>application/alto-networkmap+json</summary>\n            public const string AltoNetworkmapJson = \"application/alto-networkmap+json\";\n            /// <summary>application/andrew-inset</summary>\n            public const string AndrewInset = \"application/andrew-inset\";\n            /// <summary>application/applefile</summary>\n            public const string Applefile = \"application/applefile\";\n            /// <summary>application/atom+xml</summary>\n            public const string AtomXml = \"application/atom+xml\";\n            /// <summary>application/atomcat+xml</summary>\n            public const string AtomcatXml = \"application/atomcat+xml\";\n            /// <summary>application/atomdeleted+xml</summary>\n            public const string AtomdeletedXml = \"application/atomdeleted+xml\";\n            /// <summary>application/atomicmail</summary>\n            public const string Atomicmail = \"application/atomicmail\";\n            /// <summary>application/atomsvc+xml</summary>\n            public const string AtomsvcXml = \"application/atomsvc+xml\";\n            /// <summary>application/auth-policy+xml</summary>\n            public const string AuthPolicyXml = \"application/auth-policy+xml\";\n            /// <summary>application/bacnet-xdd+zip</summary>\n            public const string BacnetXddZip = \"application/bacnet-xdd+zip\";\n            /// <summary>application/batch-SMTP</summary>\n            public const string BatchSmtp = \"application/batch-SMTP\";\n            /// <summary>application/beep+xml</summary>\n            public const string BeepXml = \"application/beep+xml\";\n            /// <summary>application/calendar+json</summary>\n            public const string CalendarJson = \"application/calendar+json\";\n            /// <summary>application/calendar+xml</summary>\n            public const string CalendarXml = \"application/calendar+xml\";\n            /// <summary>application/call-completion</summary>\n            public const string CallCompletion = \"application/call-completion\";\n            /// <summary>application/cals-1840</summary>\n            public const string Cals1840 = \"application/cals-1840\";\n            /// <summary>application/cbor</summary>\n            public const string Cbor = \"application/cbor\";\n            /// <summary>application/ccmp+xml</summary>\n            public const string CcmpXml = \"application/ccmp+xml\";\n            /// <summary>application/ccxml+xml</summary>\n            public const string CcxmlXml = \"application/ccxml+xml\";\n            /// <summary>application/cdmi-capability</summary>\n            public const string CdmiCapability = \"application/cdmi-capability\";\n            /// <summary>application/cdmi-container</summary>\n            public const string CdmiContainer = \"application/cdmi-container\";\n            /// <summary>application/cdmi-domain</summary>\n            public const string CdmiDomain = \"application/cdmi-domain\";\n            /// <summary>application/cdmi-object</summary>\n            public const string CdmiObject = \"application/cdmi-object\";\n            /// <summary>application/cdmi-queue</summary>\n            public const string CdmiQueue = \"application/cdmi-queue\";\n            /// <summary>application/cea-2018+xml</summary>\n            public const string Cea2018Xml = \"application/cea-2018+xml\";\n            /// <summary>application/cellml+xml</summary>\n            public const string CellmlXml = \"application/cellml+xml\";\n            /// <summary>application/cfw</summary>\n            public const string Cfw = \"application/cfw\";\n            /// <summary>application/cms</summary>\n            public const string Cms = \"application/cms\";\n            /// <summary>application/cnrp+xml</summary>\n            public const string CnrpXml = \"application/cnrp+xml\";\n            /// <summary>application/commonground</summary>\n            public const string Commonground = \"application/commonground\";\n            /// <summary>application/conference-info+xml</summary>\n            public const string ConferenceInfoXml = \"application/conference-info+xml\";\n            /// <summary>application/cpl+xml</summary>\n            public const string CplXml = \"application/cpl+xml\";\n            /// <summary>application/csrattrs</summary>\n            public const string Csrattrs = \"application/csrattrs\";\n            /// <summary>application/csta+xml</summary>\n            public const string CstaXml = \"application/csta+xml\";\n            /// <summary>application/CSTAdata+xml</summary>\n            public const string CstadataXml = \"application/CSTAdata+xml\";\n            /// <summary>application/cybercash</summary>\n            public const string Cybercash = \"application/cybercash\";\n            /// <summary>application/dash+xml</summary>\n            public const string DashXml = \"application/dash+xml\";\n            /// <summary>application/dashdelta</summary>\n            public const string Dashdelta = \"application/dashdelta\";\n            /// <summary>application/davmount+xml</summary>\n            public const string DavmountXml = \"application/davmount+xml\";\n            /// <summary>application/dca-rft</summary>\n            public const string DcaRft = \"application/dca-rft\";\n            /// <summary>application/dec-dx</summary>\n            public const string DecDx = \"application/dec-dx\";\n            /// <summary>application/dialog-info+xml</summary>\n            public const string DialogInfoXml = \"application/dialog-info+xml\";\n            /// <summary>application/dicom</summary>\n            public const string Dicom = \"application/dicom\";\n            /// <summary>application/dns</summary>\n            public const string Dns = \"application/dns\";\n            /// <summary>application/dskpp+xml</summary>\n            public const string DskppXml = \"application/dskpp+xml\";\n            /// <summary>application/dssc+der</summary>\n            public const string DsscDer = \"application/dssc+der\";\n            /// <summary>application/dssc+xml</summary>\n            public const string DsscXml = \"application/dssc+xml\";\n            /// <summary>application/dvcs</summary>\n            public const string Dvcs = \"application/dvcs\";\n            /// <summary>application/ecmascript</summary>\n            public const string Ecmascript = \"application/ecmascript\";\n            /// <summary>application/EDI-consent</summary>\n            public const string EdiConsent = \"application/EDI-consent\";\n            /// <summary>application/EDIFACT</summary>\n            public const string Edifact = \"application/EDIFACT\";\n            /// <summary>application/EDI-X12</summary>\n            public const string EdiX12 = \"application/EDI-X12\";\n            /// <summary>application/emma+xml</summary>\n            public const string EmmaXml = \"application/emma+xml\";\n            /// <summary>application/emotionml+xml</summary>\n            public const string EmotionmlXml = \"application/emotionml+xml\";\n            /// <summary>application/encaprtp</summary>\n            public const string Encaprtp = \"application/encaprtp\";\n            /// <summary>application/epp+xml</summary>\n            public const string EppXml = \"application/epp+xml\";\n            /// <summary>application/eshop</summary>\n            public const string Eshop = \"application/eshop\";\n            /// <summary>application/example</summary>\n            public const string Example = \"application/example\";\n            /// <summary>application/exi</summary>\n            public const string Exi = \"application/exi\";\n            /// <summary>application/fastinfoset</summary>\n            public const string Fastinfoset = \"application/fastinfoset\";\n            /// <summary>application/fastsoap</summary>\n            public const string Fastsoap = \"application/fastsoap\";\n            /// <summary>application/fdt+xml</summary>\n            public const string FdtXml = \"application/fdt+xml\";\n            /// <summary>application/fits</summary>\n            public const string Fits = \"application/fits\";\n            /// <summary>application/font-sfnt</summary>\n            public const string FontSfnt = \"application/font-sfnt\";\n            /// <summary>application/font-tdpfr</summary>\n            public const string FontTdpfr = \"application/font-tdpfr\";\n            /// <summary>application/font-woff</summary>\n            public const string FontWoff = \"application/font-woff\";\n            /// <summary>application/framework-attributes+xml</summary>\n            public const string FrameworkAttributesXml = \"application/framework-attributes+xml\";\n            /// <summary>application/gzip</summary>\n            public const string Gzip = \"application/gzip\";\n            /// <summary>application/H224</summary>\n            public const string H224 = \"application/H224\";\n            /// <summary>application/held+xml</summary>\n            public const string HeldXml = \"application/held+xml\";\n            /// <summary>application/http</summary>\n            public const string Http = \"application/http\";\n            /// <summary>application/hyperstudio</summary>\n            public const string Hyperstudio = \"application/hyperstudio\";\n            /// <summary>application/ibe-key-request+xml</summary>\n            public const string IbeKeyRequestXml = \"application/ibe-key-request+xml\";\n            /// <summary>application/ibe-pkg-reply+xml</summary>\n            public const string IbePkgReplyXml = \"application/ibe-pkg-reply+xml\";\n            /// <summary>application/ibe-pp-data</summary>\n            public const string IbePpData = \"application/ibe-pp-data\";\n            /// <summary>application/iges</summary>\n            public const string Iges = \"application/iges\";\n            /// <summary>application/im-iscomposing+xml</summary>\n            public const string ImIscomposingXml = \"application/im-iscomposing+xml\";\n            /// <summary>application/index</summary>\n            public const string Index = \"application/index\";\n            /// <summary>application/index.cmd</summary>\n            public const string IndexCmd = \"application/index.cmd\";\n            /// <summary>application/index.obj</summary>\n            public const string IndexObj = \"application/index.obj\";\n            /// <summary>application/index.response</summary>\n            public const string IndexResponse = \"application/index.response\";\n            /// <summary>application/index.vnd</summary>\n            public const string IndexVnd = \"application/index.vnd\";\n            /// <summary>application/inkml+xml</summary>\n            public const string InkmlXml = \"application/inkml+xml\";\n            /// <summary>application/iotp</summary>\n            public const string Iotp = \"application/iotp\";\n            /// <summary>application/ipfix</summary>\n            public const string Ipfix = \"application/ipfix\";\n            /// <summary>application/ipp</summary>\n            public const string Ipp = \"application/ipp\";\n            /// <summary>application/isup</summary>\n            public const string Isup = \"application/isup\";\n            /// <summary>application/its+xml</summary>\n            public const string ItsXml = \"application/its+xml\";\n            /// <summary>application/javascript</summary>\n            public const string Javascript = \"application/javascript\";\n            /// <summary>application/jrd+json</summary>\n            public const string JrdJson = \"application/jrd+json\";\n            /// <summary>application/json</summary>\n            public const string Json = \"application/json\";\n            /// <summary>application/json-patch+json</summary>\n            public const string JsonPatchJson = \"application/json-patch+json\";\n            /// <summary>application/kpml-request+xml</summary>\n            public const string KpmlRequestXml = \"application/kpml-request+xml\";\n            /// <summary>application/kpml-response+xml</summary>\n            public const string KpmlResponseXml = \"application/kpml-response+xml\";\n            /// <summary>application/ld+json</summary>\n            public const string LdJson = \"application/ld+json\";\n            /// <summary>application/link-format</summary>\n            public const string LinkFormat = \"application/link-format\";\n            /// <summary>application/load-control+xml</summary>\n            public const string LoadControlXml = \"application/load-control+xml\";\n            /// <summary>application/lost+xml</summary>\n            public const string LostXml = \"application/lost+xml\";\n            /// <summary>application/lostsync+xml</summary>\n            public const string LostsyncXml = \"application/lostsync+xml\";\n            /// <summary>application/mac-binhex40</summary>\n            public const string MacBinhex40 = \"application/mac-binhex40\";\n            /// <summary>application/macwriteii</summary>\n            public const string Macwriteii = \"application/macwriteii\";\n            /// <summary>application/mads+xml</summary>\n            public const string MadsXml = \"application/mads+xml\";\n            /// <summary>application/marc</summary>\n            public const string Marc = \"application/marc\";\n            /// <summary>application/marcxml+xml</summary>\n            public const string MarcxmlXml = \"application/marcxml+xml\";\n            /// <summary>application/mathematica</summary>\n            public const string Mathematica = \"application/mathematica\";\n            /// <summary>application/mathml-content+xml</summary>\n            public const string MathmlContentXml = \"application/mathml-content+xml\";\n            /// <summary>application/mathml-presentation+xml</summary>\n            public const string MathmlPresentationXml = \"application/mathml-presentation+xml\";\n            /// <summary>application/mathml+xml</summary>\n            public const string MathmlXml = \"application/mathml+xml\";\n            /// <summary>application/mbms-associated-procedure-description+xml</summary>\n            public const string MbmsAssociatedProcedureDescriptionXml = \"application/mbms-associated-procedure-description+xml\";\n            /// <summary>application/mbms-deregister+xml</summary>\n            public const string MbmsDeregisterXml = \"application/mbms-deregister+xml\";\n            /// <summary>application/mbms-envelope+xml</summary>\n            public const string MbmsEnvelopeXml = \"application/mbms-envelope+xml\";\n            /// <summary>application/mbms-msk-response+xml</summary>\n            public const string MbmsMskResponseXml = \"application/mbms-msk-response+xml\";\n            /// <summary>application/mbms-msk+xml</summary>\n            public const string MbmsMskXml = \"application/mbms-msk+xml\";\n            /// <summary>application/mbms-protection-description+xml</summary>\n            public const string MbmsProtectionDescriptionXml = \"application/mbms-protection-description+xml\";\n            /// <summary>application/mbms-reception-report+xml</summary>\n            public const string MbmsReceptionReportXml = \"application/mbms-reception-report+xml\";\n            /// <summary>application/mbms-register-response+xml</summary>\n            public const string MbmsRegisterResponseXml = \"application/mbms-register-response+xml\";\n            /// <summary>application/mbms-register+xml</summary>\n            public const string MbmsRegisterXml = \"application/mbms-register+xml\";\n            /// <summary>application/mbms-schedule+xml</summary>\n            public const string MbmsScheduleXml = \"application/mbms-schedule+xml\";\n            /// <summary>application/mbms-user-service-description+xml</summary>\n            public const string MbmsUserServiceDescriptionXml = \"application/mbms-user-service-description+xml\";\n            /// <summary>application/mbox</summary>\n            public const string Mbox = \"application/mbox\";\n            /// <summary>application/media_control+xml</summary>\n            public const string MediaControlXml = \"application/media_control+xml\";\n            /// <summary>application/media-policy-dataset+xml</summary>\n            public const string MediaPolicyDatasetXml = \"application/media-policy-dataset+xml\";\n            /// <summary>application/mediaservercontrol+xml</summary>\n            public const string MediaservercontrolXml = \"application/mediaservercontrol+xml\";\n            /// <summary>application/metalink4+xml</summary>\n            public const string Metalink4Xml = \"application/metalink4+xml\";\n            /// <summary>application/mets+xml</summary>\n            public const string MetsXml = \"application/mets+xml\";\n            /// <summary>application/mikey</summary>\n            public const string Mikey = \"application/mikey\";\n            /// <summary>application/mods+xml</summary>\n            public const string ModsXml = \"application/mods+xml\";\n            /// <summary>application/moss-keys</summary>\n            public const string MossKeys = \"application/moss-keys\";\n            /// <summary>application/moss-signature</summary>\n            public const string MossSignature = \"application/moss-signature\";\n            /// <summary>application/mosskey-data</summary>\n            public const string MosskeyData = \"application/mosskey-data\";\n            /// <summary>application/mosskey-request</summary>\n            public const string MosskeyRequest = \"application/mosskey-request\";\n            /// <summary>application/mp21</summary>\n            public const string Mp21 = \"application/mp21\";\n            /// <summary>application/mp4</summary>\n            public const string Mp4 = \"application/mp4\";\n            /// <summary>application/mpeg4-generic</summary>\n            public const string Mpeg4Generic = \"application/mpeg4-generic\";\n            /// <summary>application/mpeg4-iod</summary>\n            public const string Mpeg4Iod = \"application/mpeg4-iod\";\n            /// <summary>application/mpeg4-iod-xmt</summary>\n            public const string Mpeg4IodXmt = \"application/mpeg4-iod-xmt\";\n            /// <summary>application/mrb-consumer+xml</summary>\n            public const string MrbConsumerXml = \"application/mrb-consumer+xml\";\n            /// <summary>application/mrb-publish+xml</summary>\n            public const string MrbPublishXml = \"application/mrb-publish+xml\";\n            /// <summary>application/msc-ivr+xml</summary>\n            public const string MscIvrXml = \"application/msc-ivr+xml\";\n            /// <summary>application/msc-mixer+xml</summary>\n            public const string MscMixerXml = \"application/msc-mixer+xml\";\n            /// <summary>application/msword</summary>\n            public const string Msword = \"application/msword\";\n            /// <summary>application/mxf</summary>\n            public const string Mxf = \"application/mxf\";\n            /// <summary>application/nasdata</summary>\n            public const string Nasdata = \"application/nasdata\";\n            /// <summary>application/news-checkgroups</summary>\n            public const string NewsCheckgroups = \"application/news-checkgroups\";\n            /// <summary>application/news-groupinfo</summary>\n            public const string NewsGroupinfo = \"application/news-groupinfo\";\n            /// <summary>application/news-transmission</summary>\n            public const string NewsTransmission = \"application/news-transmission\";\n            /// <summary>application/nlsml+xml</summary>\n            public const string NlsmlXml = \"application/nlsml+xml\";\n            /// <summary>application/nss</summary>\n            public const string Nss = \"application/nss\";\n            /// <summary>application/ocsp-request</summary>\n            public const string OcspRequest = \"application/ocsp-request\";\n            /// <summary>application/ocsp-response</summary>\n            public const string OcspResponse = \"application/ocsp-response\";\n            /// <summary>application/octet-stream</summary>\n            public const string OctetStream = \"application/octet-stream\";\n            /// <summary>application/oda</summary>\n            public const string Oda = \"application/oda\";\n            /// <summary>application/ODX</summary>\n            public const string Odx = \"application/ODX\";\n            /// <summary>application/oebps-package+xml</summary>\n            public const string OebpsPackageXml = \"application/oebps-package+xml\";\n            /// <summary>application/ogg</summary>\n            public const string Ogg = \"application/ogg\";\n            /// <summary>application/oxps</summary>\n            public const string Oxps = \"application/oxps\";\n            /// <summary>application/p2p-overlay+xml</summary>\n            public const string P2pOverlayXml = \"application/p2p-overlay+xml\";\n            /// <summary>application/parityfec</summary>\n            public const string Parityfec = \"application/parityfec\";\n            /// <summary>application/patch-ops-error+xml</summary>\n            public const string PatchOpsErrorXml = \"application/patch-ops-error+xml\";\n            /// <summary>application/pdf</summary>\n            public const string Pdf = \"application/pdf\";\n            /// <summary>application/PDX</summary>\n            public const string Pdx = \"application/PDX\";\n            /// <summary>application/pgp-encrypted</summary>\n            public const string PgpEncrypted = \"application/pgp-encrypted\";\n            /// <summary>application/pgp-keys</summary>\n            public const string PgpKeys = \"application/pgp-keys\";\n            /// <summary>application/pgp-signature</summary>\n            public const string PgpSignature = \"application/pgp-signature\";\n            /// <summary>application/pidf-diff+xml</summary>\n            public const string PidfDiffXml = \"application/pidf-diff+xml\";\n            /// <summary>application/pidf+xml</summary>\n            public const string PidfXml = \"application/pidf+xml\";\n            /// <summary>application/pkcs10</summary>\n            public const string Pkcs10 = \"application/pkcs10\";\n            /// <summary>application/pkcs7-mime</summary>\n            public const string Pkcs7Mime = \"application/pkcs7-mime\";\n            /// <summary>application/pkcs7-signature</summary>\n            public const string Pkcs7Signature = \"application/pkcs7-signature\";\n            /// <summary>application/pkcs8</summary>\n            public const string Pkcs8 = \"application/pkcs8\";\n            /// <summary>application/pkix-attr-cert</summary>\n            public const string PkixAttrCert = \"application/pkix-attr-cert\";\n            /// <summary>application/pkix-cert</summary>\n            public const string PkixCert = \"application/pkix-cert\";\n            /// <summary>application/pkix-crl</summary>\n            public const string PkixCrl = \"application/pkix-crl\";\n            /// <summary>application/pkix-pkipath</summary>\n            public const string PkixPkipath = \"application/pkix-pkipath\";\n            /// <summary>application/pkixcmp</summary>\n            public const string Pkixcmp = \"application/pkixcmp\";\n            /// <summary>application/pls+xml</summary>\n            public const string PlsXml = \"application/pls+xml\";\n            /// <summary>application/poc-settings+xml</summary>\n            public const string PocSettingsXml = \"application/poc-settings+xml\";\n            /// <summary>application/postscript</summary>\n            public const string Postscript = \"application/postscript\";\n            /// <summary>application/provenance+xml</summary>\n            public const string ProvenanceXml = \"application/provenance+xml\";\n            /// <summary>application/prs.alvestrand.titrax-sheet</summary>\n            public const string PrsAlvestrandTitraxSheet = \"application/prs.alvestrand.titrax-sheet\";\n            /// <summary>application/prs.cww</summary>\n            public const string PrsCww = \"application/prs.cww\";\n            /// <summary>application/prs.hpub+zip</summary>\n            public const string PrsHpubZip = \"application/prs.hpub+zip\";\n            /// <summary>application/prs.nprend</summary>\n            public const string PrsNprend = \"application/prs.nprend\";\n            /// <summary>application/prs.plucker</summary>\n            public const string PrsPlucker = \"application/prs.plucker\";\n            /// <summary>application/prs.rdf-xml-crypt</summary>\n            public const string PrsRdfXmlCrypt = \"application/prs.rdf-xml-crypt\";\n            /// <summary>application/prs.xsf+xml</summary>\n            public const string PrsXsfXml = \"application/prs.xsf+xml\";\n            /// <summary>application/pskc+xml</summary>\n            public const string PskcXml = \"application/pskc+xml\";\n            /// <summary>application/rdf+xml</summary>\n            public const string RdfXml = \"application/rdf+xml\";\n            /// <summary>application/qsig</summary>\n            public const string Qsig = \"application/qsig\";\n            /// <summary>application/raptorfec</summary>\n            public const string Raptorfec = \"application/raptorfec\";\n            /// <summary>application/reginfo+xml</summary>\n            public const string ReginfoXml = \"application/reginfo+xml\";\n            /// <summary>application/relax-ng-compact-syntax</summary>\n            public const string RelaxNgCompactSyntax = \"application/relax-ng-compact-syntax\";\n            /// <summary>application/remote-printing</summary>\n            public const string RemotePrinting = \"application/remote-printing\";\n            /// <summary>application/reputon+json</summary>\n            public const string ReputonJson = \"application/reputon+json\";\n            /// <summary>application/resource-lists-diff+xml</summary>\n            public const string ResourceListsDiffXml = \"application/resource-lists-diff+xml\";\n            /// <summary>application/resource-lists+xml</summary>\n            public const string ResourceListsXml = \"application/resource-lists+xml\";\n            /// <summary>application/riscos</summary>\n            public const string Riscos = \"application/riscos\";\n            /// <summary>application/rlmi+xml</summary>\n            public const string RlmiXml = \"application/rlmi+xml\";\n            /// <summary>application/rls-services+xml</summary>\n            public const string RlsServicesXml = \"application/rls-services+xml\";\n            /// <summary>application/rpki-ghostbusters</summary>\n            public const string RpkiGhostbusters = \"application/rpki-ghostbusters\";\n            /// <summary>application/rpki-manifest</summary>\n            public const string RpkiManifest = \"application/rpki-manifest\";\n            /// <summary>application/rpki-roa</summary>\n            public const string RpkiRoa = \"application/rpki-roa\";\n            /// <summary>application/rpki-updown</summary>\n            public const string RpkiUpdown = \"application/rpki-updown\";\n            /// <summary>application/rtf</summary>\n            public const string Rtf = \"application/rtf\";\n            /// <summary>application/rtploopback</summary>\n            public const string Rtploopback = \"application/rtploopback\";\n            /// <summary>application/rtx</summary>\n            public const string Rtx = \"application/rtx\";\n            /// <summary>application/samlassertion+xml</summary>\n            public const string SamlassertionXml = \"application/samlassertion+xml\";\n            /// <summary>application/samlmetadata+xml</summary>\n            public const string SamlmetadataXml = \"application/samlmetadata+xml\";\n            /// <summary>application/sbml+xml</summary>\n            public const string SbmlXml = \"application/sbml+xml\";\n            /// <summary>application/scaip+xml</summary>\n            public const string ScaipXml = \"application/scaip+xml\";\n            /// <summary>application/scvp-cv-request</summary>\n            public const string ScvpCvRequest = \"application/scvp-cv-request\";\n            /// <summary>application/scvp-cv-response</summary>\n            public const string ScvpCvResponse = \"application/scvp-cv-response\";\n            /// <summary>application/scvp-vp-request</summary>\n            public const string ScvpVpRequest = \"application/scvp-vp-request\";\n            /// <summary>application/scvp-vp-response</summary>\n            public const string ScvpVpResponse = \"application/scvp-vp-response\";\n            /// <summary>application/sdp</summary>\n            public const string Sdp = \"application/sdp\";\n            /// <summary>application/sep-exi</summary>\n            public const string SepExi = \"application/sep-exi\";\n            /// <summary>application/sep+xml</summary>\n            public const string SepXml = \"application/sep+xml\";\n            /// <summary>application/session-info</summary>\n            public const string SessionInfo = \"application/session-info\";\n            /// <summary>application/set-payment</summary>\n            public const string SetPayment = \"application/set-payment\";\n            /// <summary>application/set-payment-initiation</summary>\n            public const string SetPaymentInitiation = \"application/set-payment-initiation\";\n            /// <summary>application/set-registration</summary>\n            public const string SetRegistration = \"application/set-registration\";\n            /// <summary>application/set-registration-initiation</summary>\n            public const string SetRegistrationInitiation = \"application/set-registration-initiation\";\n            /// <summary>application/sgml</summary>\n            public const string Sgml = \"application/sgml\";\n            /// <summary>application/sgml-open-catalog</summary>\n            public const string SgmlOpenCatalog = \"application/sgml-open-catalog\";\n            /// <summary>application/shf+xml</summary>\n            public const string ShfXml = \"application/shf+xml\";\n            /// <summary>application/sieve</summary>\n            public const string Sieve = \"application/sieve\";\n            /// <summary>application/simple-filter+xml</summary>\n            public const string SimpleFilterXml = \"application/simple-filter+xml\";\n            /// <summary>application/simple-message-summary</summary>\n            public const string SimpleMessageSummary = \"application/simple-message-summary\";\n            /// <summary>application/simpleSymbolContainer</summary>\n            public const string Simplesymbolcontainer = \"application/simpleSymbolContainer\";\n            /// <summary>application/slate</summary>\n            public const string Slate = \"application/slate\";\n            /// <summary>application/smil</summary>\n            [Obsolete(\"OBSOLETE\")]\n            public const string Smil = \"application/smil\";\n            /// <summary>application/smil+xml</summary>\n            public const string SmilXml = \"application/smil+xml\";\n            /// <summary>application/smpte336m</summary>\n            public const string Smpte336m = \"application/smpte336m\";\n            /// <summary>application/soap+fastinfoset</summary>\n            public const string SoapFastinfoset = \"application/soap+fastinfoset\";\n            /// <summary>application/soap+xml</summary>\n            public const string SoapXml = \"application/soap+xml\";\n            /// <summary>application/sparql-query</summary>\n            public const string SparqlQuery = \"application/sparql-query\";\n            /// <summary>application/sparql-results+xml</summary>\n            public const string SparqlResultsXml = \"application/sparql-results+xml\";\n            /// <summary>application/spirits-event+xml</summary>\n            public const string SpiritsEventXml = \"application/spirits-event+xml\";\n            /// <summary>application/sql</summary>\n            public const string Sql = \"application/sql\";\n            /// <summary>application/srgs</summary>\n            public const string Srgs = \"application/srgs\";\n            /// <summary>application/srgs+xml</summary>\n            public const string SrgsXml = \"application/srgs+xml\";\n            /// <summary>application/sru+xml</summary>\n            public const string SruXml = \"application/sru+xml\";\n            /// <summary>application/ssml+xml</summary>\n            public const string SsmlXml = \"application/ssml+xml\";\n            /// <summary>application/tamp-apex-update</summary>\n            public const string TampApexUpdate = \"application/tamp-apex-update\";\n            /// <summary>application/tamp-apex-update-confirm</summary>\n            public const string TampApexUpdateConfirm = \"application/tamp-apex-update-confirm\";\n            /// <summary>application/tamp-community-update</summary>\n            public const string TampCommunityUpdate = \"application/tamp-community-update\";\n            /// <summary>application/tamp-community-update-confirm</summary>\n            public const string TampCommunityUpdateConfirm = \"application/tamp-community-update-confirm\";\n            /// <summary>application/tamp-error</summary>\n            public const string TampError = \"application/tamp-error\";\n            /// <summary>application/tamp-sequence-adjust</summary>\n            public const string TampSequenceAdjust = \"application/tamp-sequence-adjust\";\n            /// <summary>application/tamp-sequence-adjust-confirm</summary>\n            public const string TampSequenceAdjustConfirm = \"application/tamp-sequence-adjust-confirm\";\n            /// <summary>application/tamp-status-query</summary>\n            public const string TampStatusQuery = \"application/tamp-status-query\";\n            /// <summary>application/tamp-status-response</summary>\n            public const string TampStatusResponse = \"application/tamp-status-response\";\n            /// <summary>application/tamp-update</summary>\n            public const string TampUpdate = \"application/tamp-update\";\n            /// <summary>application/tamp-update-confirm</summary>\n            public const string TampUpdateConfirm = \"application/tamp-update-confirm\";\n            /// <summary>application/tei+xml</summary>\n            public const string TeiXml = \"application/tei+xml\";\n            /// <summary>application/thraud+xml</summary>\n            public const string ThraudXml = \"application/thraud+xml\";\n            /// <summary>application/timestamp-query</summary>\n            public const string TimestampQuery = \"application/timestamp-query\";\n            /// <summary>application/timestamp-reply</summary>\n            public const string TimestampReply = \"application/timestamp-reply\";\n            /// <summary>application/timestamped-data</summary>\n            public const string TimestampedData = \"application/timestamped-data\";\n            /// <summary>application/ttml+xml</summary>\n            public const string TtmlXml = \"application/ttml+xml\";\n            /// <summary>application/tve-trigger</summary>\n            public const string TveTrigger = \"application/tve-trigger\";\n            /// <summary>application/ulpfec</summary>\n            public const string Ulpfec = \"application/ulpfec\";\n            /// <summary>application/urc-grpsheet+xml</summary>\n            public const string UrcGrpsheetXml = \"application/urc-grpsheet+xml\";\n            /// <summary>application/urc-ressheet+xml</summary>\n            public const string UrcRessheetXml = \"application/urc-ressheet+xml\";\n            /// <summary>application/urc-targetdesc+xml</summary>\n            public const string UrcTargetdescXml = \"application/urc-targetdesc+xml\";\n            /// <summary>application/urc-uisocketdesc+xml</summary>\n            public const string UrcUisocketdescXml = \"application/urc-uisocketdesc+xml\";\n            /// <summary>application/vcard+json</summary>\n            public const string VcardJson = \"application/vcard+json\";\n            /// <summary>application/vcard+xml</summary>\n            public const string VcardXml = \"application/vcard+xml\";\n            /// <summary>application/vemmi</summary>\n            public const string Vemmi = \"application/vemmi\";\n            /// <summary>application/vnd.3gpp.bsf+xml</summary>\n            public const string Vnd3gppBsfXml = \"application/vnd.3gpp.bsf+xml\";\n            /// <summary>application/vnd.3gpp.pic-bw-large</summary>\n            public const string Vnd3gppPicBwLarge = \"application/vnd.3gpp.pic-bw-large\";\n            /// <summary>application/vnd.3gpp.pic-bw-small</summary>\n            public const string Vnd3gppPicBwSmall = \"application/vnd.3gpp.pic-bw-small\";\n            /// <summary>application/vnd.3gpp.pic-bw-var</summary>\n            public const string Vnd3gppPicBwVar = \"application/vnd.3gpp.pic-bw-var\";\n            /// <summary>application/vnd.3gpp.sms</summary>\n            public const string Vnd3gppSms = \"application/vnd.3gpp.sms\";\n            /// <summary>application/vnd.3gpp2.bcmcsinfo+xml</summary>\n            public const string Vnd3gpp2BcmcsinfoXml = \"application/vnd.3gpp2.bcmcsinfo+xml\";\n            /// <summary>application/vnd.3gpp2.sms</summary>\n            public const string Vnd3gpp2Sms = \"application/vnd.3gpp2.sms\";\n            /// <summary>application/vnd.3gpp2.tcap</summary>\n            public const string Vnd3gpp2Tcap = \"application/vnd.3gpp2.tcap\";\n            /// <summary>application/vnd.3M.Post-it-Notes</summary>\n            public const string Vnd3mPostItNotes = \"application/vnd.3M.Post-it-Notes\";\n            /// <summary>application/vnd.accpac.simply.aso</summary>\n            public const string VndAccpacSimplyAso = \"application/vnd.accpac.simply.aso\";\n            /// <summary>application/vnd.accpac.simply.imp</summary>\n            public const string VndAccpacSimplyImp = \"application/vnd.accpac.simply.imp\";\n            /// <summary>application/vnd.acucobol</summary>\n            public const string VndAcucobol = \"application/vnd.acucobol\";\n            /// <summary>application/vnd.acucorp</summary>\n            public const string VndAcucorp = \"application/vnd.acucorp\";\n            /// <summary>application/vnd.adobe.flash.movie</summary>\n            public const string VndAdobeFlashMovie = \"application/vnd.adobe.flash.movie\";\n            /// <summary>application/vnd.adobe.formscentral.fcdt</summary>\n            public const string VndAdobeFormscentralFcdt = \"application/vnd.adobe.formscentral.fcdt\";\n            /// <summary>application/vnd.adobe.fxp</summary>\n            public const string VndAdobeFxp = \"application/vnd.adobe.fxp\";\n            /// <summary>application/vnd.adobe.partial-upload</summary>\n            public const string VndAdobePartialUpload = \"application/vnd.adobe.partial-upload\";\n            /// <summary>application/vnd.adobe.xdp+xml</summary>\n            public const string VndAdobeXdpXml = \"application/vnd.adobe.xdp+xml\";\n            /// <summary>application/vnd.adobe.xfdf</summary>\n            public const string VndAdobeXfdf = \"application/vnd.adobe.xfdf\";\n            /// <summary>application/vnd.aether.imp</summary>\n            public const string VndAetherImp = \"application/vnd.aether.imp\";\n            /// <summary>application/vnd.ah-barcode</summary>\n            public const string VndAhBarcode = \"application/vnd.ah-barcode\";\n            /// <summary>application/vnd.ahead.space</summary>\n            public const string VndAheadSpace = \"application/vnd.ahead.space\";\n            /// <summary>application/vnd.airzip.filesecure.azf</summary>\n            public const string VndAirzipFilesecureAzf = \"application/vnd.airzip.filesecure.azf\";\n            /// <summary>application/vnd.airzip.filesecure.azs</summary>\n            public const string VndAirzipFilesecureAzs = \"application/vnd.airzip.filesecure.azs\";\n            /// <summary>application/vnd.americandynamics.acc</summary>\n            public const string VndAmericandynamicsAcc = \"application/vnd.americandynamics.acc\";\n            /// <summary>application/vnd.amiga.ami</summary>\n            public const string VndAmigaAmi = \"application/vnd.amiga.ami\";\n            /// <summary>application/vnd.amundsen.maze+xml</summary>\n            public const string VndAmundsenMazeXml = \"application/vnd.amundsen.maze+xml\";\n            /// <summary>application/vnd.anser-web-certificate-issue-initiation</summary>\n            public const string VndAnserWebCertificateIssueInitiation = \"application/vnd.anser-web-certificate-issue-initiation\";\n            /// <summary>application/vnd.antix.game-component</summary>\n            public const string VndAntixGameComponent = \"application/vnd.antix.game-component\";\n            /// <summary>application/vnd.api+json</summary>\n            public const string VndApiJson = \"application/vnd.api+json\";\n            /// <summary>application/vnd.apple.mpegurl</summary>\n            public const string VndAppleMpegurl = \"application/vnd.apple.mpegurl\";\n            /// <summary>application/vnd.apple.installer+xml</summary>\n            public const string VndAppleInstallerXml = \"application/vnd.apple.installer+xml\";\n            /// <summary>application/vnd.arastra.swi</summary>\n            [Obsolete(\"OBSOLETED in favor of application/vnd.aristanetworks.swi\")]\n            public const string VndArastraSwi = \"application/vnd.arastra.swi\";\n            /// <summary>application/vnd.aristanetworks.swi</summary>\n            public const string VndAristanetworksSwi = \"application/vnd.aristanetworks.swi\";\n            /// <summary>application/vnd.artsquare</summary>\n            public const string VndArtsquare = \"application/vnd.artsquare\";\n            /// <summary>application/vnd.astraea-software.iota</summary>\n            public const string VndAstraeaSoftwareIota = \"application/vnd.astraea-software.iota\";\n            /// <summary>application/vnd.audiograph</summary>\n            public const string VndAudiograph = \"application/vnd.audiograph\";\n            /// <summary>application/vnd.autopackage</summary>\n            public const string VndAutopackage = \"application/vnd.autopackage\";\n            /// <summary>application/vnd.avistar+xml</summary>\n            public const string VndAvistarXml = \"application/vnd.avistar+xml\";\n            /// <summary>application/vnd.balsamiq.bmml+xml</summary>\n            public const string VndBalsamiqBmmlXml = \"application/vnd.balsamiq.bmml+xml\";\n            /// <summary>application/vnd.bekitzur-stech+json</summary>\n            public const string VndBekitzurStechJson = \"application/vnd.bekitzur-stech+json\";\n            /// <summary>application/vnd.blueice.multipass</summary>\n            public const string VndBlueiceMultipass = \"application/vnd.blueice.multipass\";\n            /// <summary>application/vnd.bluetooth.ep.oob</summary>\n            public const string VndBluetoothEpOob = \"application/vnd.bluetooth.ep.oob\";\n            /// <summary>application/vnd.bluetooth.le.oob</summary>\n            public const string VndBluetoothLeOob = \"application/vnd.bluetooth.le.oob\";\n            /// <summary>application/vnd.bmi</summary>\n            public const string VndBmi = \"application/vnd.bmi\";\n            /// <summary>application/vnd.businessobjects</summary>\n            public const string VndBusinessobjects = \"application/vnd.businessobjects\";\n            /// <summary>application/vnd.cab-jscript</summary>\n            public const string VndCabJscript = \"application/vnd.cab-jscript\";\n            /// <summary>application/vnd.canon-cpdl</summary>\n            public const string VndCanonCpdl = \"application/vnd.canon-cpdl\";\n            /// <summary>application/vnd.canon-lips</summary>\n            public const string VndCanonLips = \"application/vnd.canon-lips\";\n            /// <summary>application/vnd.cendio.thinlinc.clientconf</summary>\n            public const string VndCendioThinlincClientconf = \"application/vnd.cendio.thinlinc.clientconf\";\n            /// <summary>application/vnd.century-systems.tcp_stream</summary>\n            public const string VndCenturySystemsTcpStream = \"application/vnd.century-systems.tcp_stream\";\n            /// <summary>application/vnd.chemdraw+xml</summary>\n            public const string VndChemdrawXml = \"application/vnd.chemdraw+xml\";\n            /// <summary>application/vnd.chipnuts.karaoke-mmd</summary>\n            public const string VndChipnutsKaraokeMmd = \"application/vnd.chipnuts.karaoke-mmd\";\n            /// <summary>application/vnd.cinderella</summary>\n            public const string VndCinderella = \"application/vnd.cinderella\";\n            /// <summary>application/vnd.cirpack.isdn-ext</summary>\n            public const string VndCirpackIsdnExt = \"application/vnd.cirpack.isdn-ext\";\n            /// <summary>application/vnd.claymore</summary>\n            public const string VndClaymore = \"application/vnd.claymore\";\n            /// <summary>application/vnd.cloanto.rp9</summary>\n            public const string VndCloantoRp9 = \"application/vnd.cloanto.rp9\";\n            /// <summary>application/vnd.clonk.c4group</summary>\n            public const string VndClonkC4group = \"application/vnd.clonk.c4group\";\n            /// <summary>application/vnd.cluetrust.cartomobile-config</summary>\n            public const string VndCluetrustCartomobileConfig = \"application/vnd.cluetrust.cartomobile-config\";\n            /// <summary>application/vnd.cluetrust.cartomobile-config-pkg</summary>\n            public const string VndCluetrustCartomobileConfigPkg = \"application/vnd.cluetrust.cartomobile-config-pkg\";\n            /// <summary>application/vnd.collection.doc+json</summary>\n            public const string VndCollectionDocJson = \"application/vnd.collection.doc+json\";\n            /// <summary>application/vnd.collection+json</summary>\n            public const string VndCollectionJson = \"application/vnd.collection+json\";\n            /// <summary>application/vnd.collection.next+json</summary>\n            public const string VndCollectionNextJson = \"application/vnd.collection.next+json\";\n            /// <summary>application/vnd.commerce-battelle</summary>\n            public const string VndCommerceBattelle = \"application/vnd.commerce-battelle\";\n            /// <summary>application/vnd.commonspace</summary>\n            public const string VndCommonspace = \"application/vnd.commonspace\";\n            /// <summary>application/vnd.cosmocaller</summary>\n            public const string VndCosmocaller = \"application/vnd.cosmocaller\";\n            /// <summary>application/vnd.contact.cmsg</summary>\n            public const string VndContactCmsg = \"application/vnd.contact.cmsg\";\n            /// <summary>application/vnd.crick.clicker</summary>\n            public const string VndCrickClicker = \"application/vnd.crick.clicker\";\n            /// <summary>application/vnd.crick.clicker.keyboard</summary>\n            public const string VndCrickClickerKeyboard = \"application/vnd.crick.clicker.keyboard\";\n            /// <summary>application/vnd.crick.clicker.palette</summary>\n            public const string VndCrickClickerPalette = \"application/vnd.crick.clicker.palette\";\n            /// <summary>application/vnd.crick.clicker.template</summary>\n            public const string VndCrickClickerTemplate = \"application/vnd.crick.clicker.template\";\n            /// <summary>application/vnd.crick.clicker.wordbank</summary>\n            public const string VndCrickClickerWordbank = \"application/vnd.crick.clicker.wordbank\";\n            /// <summary>application/vnd.criticaltools.wbs+xml</summary>\n            public const string VndCriticaltoolsWbsXml = \"application/vnd.criticaltools.wbs+xml\";\n            /// <summary>application/vnd.ctc-posml</summary>\n            public const string VndCtcPosml = \"application/vnd.ctc-posml\";\n            /// <summary>application/vnd.ctct.ws+xml</summary>\n            public const string VndCtctWsXml = \"application/vnd.ctct.ws+xml\";\n            /// <summary>application/vnd.cups-pdf</summary>\n            public const string VndCupsPdf = \"application/vnd.cups-pdf\";\n            /// <summary>application/vnd.cups-postscript</summary>\n            public const string VndCupsPostscript = \"application/vnd.cups-postscript\";\n            /// <summary>application/vnd.cups-ppd</summary>\n            public const string VndCupsPpd = \"application/vnd.cups-ppd\";\n            /// <summary>application/vnd.cups-raster</summary>\n            public const string VndCupsRaster = \"application/vnd.cups-raster\";\n            /// <summary>application/vnd.cups-raw</summary>\n            public const string VndCupsRaw = \"application/vnd.cups-raw\";\n            /// <summary>application/vnd.curl</summary>\n            public const string VndCurl = \"application/vnd.curl\";\n            /// <summary>application/vnd.cyan.dean.root+xml</summary>\n            public const string VndCyanDeanRootXml = \"application/vnd.cyan.dean.root+xml\";\n            /// <summary>application/vnd.cybank</summary>\n            public const string VndCybank = \"application/vnd.cybank\";\n            /// <summary>application/vnd.dart</summary>\n            public const string VndDart = \"application/vnd.dart\";\n            /// <summary>application/vnd.data-vision.rdz</summary>\n            public const string VndDataVisionRdz = \"application/vnd.data-vision.rdz\";\n            /// <summary>application/vnd.debian.binary-package</summary>\n            public const string VndDebianBinaryPackage = \"application/vnd.debian.binary-package\";\n            /// <summary>application/vnd.dece.data</summary>\n            public const string VndDeceData = \"application/vnd.dece.data\";\n            /// <summary>application/vnd.dece.ttml+xml</summary>\n            public const string VndDeceTtmlXml = \"application/vnd.dece.ttml+xml\";\n            /// <summary>application/vnd.dece.unspecified</summary>\n            public const string VndDeceUnspecified = \"application/vnd.dece.unspecified\";\n            /// <summary>application/vnd.dece.zip</summary>\n            public const string VndDeceZip = \"application/vnd.dece.zip\";\n            /// <summary>application/vnd.denovo.fcselayout-link</summary>\n            public const string VndDenovoFcselayoutLink = \"application/vnd.denovo.fcselayout-link\";\n            /// <summary>application/vnd.desmume.movie</summary>\n            public const string VndDesmumeMovie = \"application/vnd.desmume.movie\";\n            /// <summary>application/vnd.dir-bi.plate-dl-nosuffix</summary>\n            public const string VndDirBiPlateDlNosuffix = \"application/vnd.dir-bi.plate-dl-nosuffix\";\n            /// <summary>application/vnd.dm.delegation+xml</summary>\n            public const string VndDmDelegationXml = \"application/vnd.dm.delegation+xml\";\n            /// <summary>application/vnd.dna</summary>\n            public const string VndDna = \"application/vnd.dna\";\n            /// <summary>application/vnd.document+json</summary>\n            public const string VndDocumentJson = \"application/vnd.document+json\";\n            /// <summary>application/vnd.dolby.mobile.1</summary>\n            public const string VndDolbyMobile1 = \"application/vnd.dolby.mobile.1\";\n            /// <summary>application/vnd.dolby.mobile.2</summary>\n            public const string VndDolbyMobile2 = \"application/vnd.dolby.mobile.2\";\n            /// <summary>application/vnd.doremir.scorecloud-binary-document</summary>\n            public const string VndDoremirScorecloudBinaryDocument = \"application/vnd.doremir.scorecloud-binary-document\";\n            /// <summary>application/vnd.dpgraph</summary>\n            public const string VndDpgraph = \"application/vnd.dpgraph\";\n            /// <summary>application/vnd.dreamfactory</summary>\n            public const string VndDreamfactory = \"application/vnd.dreamfactory\";\n            /// <summary>application/vnd.dtg.local</summary>\n            public const string VndDtgLocal = \"application/vnd.dtg.local\";\n            /// <summary>application/vnd.dtg.local.flash</summary>\n            public const string VndDtgLocalFlash = \"application/vnd.dtg.local.flash\";\n            /// <summary>application/vnd.dtg.local.html</summary>\n            public const string VndDtgLocalHtml = \"application/vnd.dtg.local.html\";\n            /// <summary>application/vnd.dvb.ait</summary>\n            public const string VndDvbAit = \"application/vnd.dvb.ait\";\n            /// <summary>application/vnd.dvb.dvbj</summary>\n            public const string VndDvbDvbj = \"application/vnd.dvb.dvbj\";\n            /// <summary>application/vnd.dvb.esgcontainer</summary>\n            public const string VndDvbEsgcontainer = \"application/vnd.dvb.esgcontainer\";\n            /// <summary>application/vnd.dvb.ipdcdftnotifaccess</summary>\n            public const string VndDvbIpdcdftnotifaccess = \"application/vnd.dvb.ipdcdftnotifaccess\";\n            /// <summary>application/vnd.dvb.ipdcesgaccess</summary>\n            public const string VndDvbIpdcesgaccess = \"application/vnd.dvb.ipdcesgaccess\";\n            /// <summary>application/vnd.dvb.ipdcesgaccess2</summary>\n            public const string VndDvbIpdcesgaccess2 = \"application/vnd.dvb.ipdcesgaccess2\";\n            /// <summary>application/vnd.dvb.ipdcesgpdd</summary>\n            public const string VndDvbIpdcesgpdd = \"application/vnd.dvb.ipdcesgpdd\";\n            /// <summary>application/vnd.dvb.ipdcroaming</summary>\n            public const string VndDvbIpdcroaming = \"application/vnd.dvb.ipdcroaming\";\n            /// <summary>application/vnd.dvb.iptv.alfec-base</summary>\n            public const string VndDvbIptvAlfecBase = \"application/vnd.dvb.iptv.alfec-base\";\n            /// <summary>application/vnd.dvb.iptv.alfec-enhancement</summary>\n            public const string VndDvbIptvAlfecEnhancement = \"application/vnd.dvb.iptv.alfec-enhancement\";\n            /// <summary>application/vnd.dvb.notif-aggregate-root+xml</summary>\n            public const string VndDvbNotifAggregateRootXml = \"application/vnd.dvb.notif-aggregate-root+xml\";\n            /// <summary>application/vnd.dvb.notif-container+xml</summary>\n            public const string VndDvbNotifContainerXml = \"application/vnd.dvb.notif-container+xml\";\n            /// <summary>application/vnd.dvb.notif-generic+xml</summary>\n            public const string VndDvbNotifGenericXml = \"application/vnd.dvb.notif-generic+xml\";\n            /// <summary>application/vnd.dvb.notif-ia-msglist+xml</summary>\n            public const string VndDvbNotifIaMsglistXml = \"application/vnd.dvb.notif-ia-msglist+xml\";\n            /// <summary>application/vnd.dvb.notif-ia-registration-request+xml</summary>\n            public const string VndDvbNotifIaRegistrationRequestXml = \"application/vnd.dvb.notif-ia-registration-request+xml\";\n            /// <summary>application/vnd.dvb.notif-ia-registration-response+xml</summary>\n            public const string VndDvbNotifIaRegistrationResponseXml = \"application/vnd.dvb.notif-ia-registration-response+xml\";\n            /// <summary>application/vnd.dvb.notif-init+xml</summary>\n            public const string VndDvbNotifInitXml = \"application/vnd.dvb.notif-init+xml\";\n            /// <summary>application/vnd.dvb.pfr</summary>\n            public const string VndDvbPfr = \"application/vnd.dvb.pfr\";\n            /// <summary>application/vnd.dvb.service</summary>\n            public const string VndDvbService = \"application/vnd.dvb.service\";\n            /// <summary>application/vnd.dxr</summary>\n            public const string VndDxr = \"application/vnd.dxr\";\n            /// <summary>application/vnd.dynageo</summary>\n            public const string VndDynageo = \"application/vnd.dynageo\";\n            /// <summary>application/vnd.dzr</summary>\n            public const string VndDzr = \"application/vnd.dzr\";\n            /// <summary>application/vnd.easykaraoke.cdgdownload</summary>\n            public const string VndEasykaraokeCdgdownload = \"application/vnd.easykaraoke.cdgdownload\";\n            /// <summary>application/vnd.ecdis-update</summary>\n            public const string VndEcdisUpdate = \"application/vnd.ecdis-update\";\n            /// <summary>application/vnd.ecowin.chart</summary>\n            public const string VndEcowinChart = \"application/vnd.ecowin.chart\";\n            /// <summary>application/vnd.ecowin.filerequest</summary>\n            public const string VndEcowinFilerequest = \"application/vnd.ecowin.filerequest\";\n            /// <summary>application/vnd.ecowin.fileupdate</summary>\n            public const string VndEcowinFileupdate = \"application/vnd.ecowin.fileupdate\";\n            /// <summary>application/vnd.ecowin.series</summary>\n            public const string VndEcowinSeries = \"application/vnd.ecowin.series\";\n            /// <summary>application/vnd.ecowin.seriesrequest</summary>\n            public const string VndEcowinSeriesrequest = \"application/vnd.ecowin.seriesrequest\";\n            /// <summary>application/vnd.ecowin.seriesupdate</summary>\n            public const string VndEcowinSeriesupdate = \"application/vnd.ecowin.seriesupdate\";\n            /// <summary>application/vnd.emclient.accessrequest+xml</summary>\n            public const string VndEmclientAccessrequestXml = \"application/vnd.emclient.accessrequest+xml\";\n            /// <summary>application/vnd.enliven</summary>\n            public const string VndEnliven = \"application/vnd.enliven\";\n            /// <summary>application/vnd.eprints.data+xml</summary>\n            public const string VndEprintsDataXml = \"application/vnd.eprints.data+xml\";\n            /// <summary>application/vnd.epson.esf</summary>\n            public const string VndEpsonEsf = \"application/vnd.epson.esf\";\n            /// <summary>application/vnd.epson.msf</summary>\n            public const string VndEpsonMsf = \"application/vnd.epson.msf\";\n            /// <summary>application/vnd.epson.quickanime</summary>\n            public const string VndEpsonQuickanime = \"application/vnd.epson.quickanime\";\n            /// <summary>application/vnd.epson.salt</summary>\n            public const string VndEpsonSalt = \"application/vnd.epson.salt\";\n            /// <summary>application/vnd.epson.ssf</summary>\n            public const string VndEpsonSsf = \"application/vnd.epson.ssf\";\n            /// <summary>application/vnd.ericsson.quickcall</summary>\n            public const string VndEricssonQuickcall = \"application/vnd.ericsson.quickcall\";\n            /// <summary>application/vnd.eszigno3+xml</summary>\n            public const string VndEszigno3Xml = \"application/vnd.eszigno3+xml\";\n            /// <summary>application/vnd.etsi.aoc+xml</summary>\n            public const string VndEtsiAocXml = \"application/vnd.etsi.aoc+xml\";\n            /// <summary>application/vnd.etsi.asic-s+zip</summary>\n            public const string VndEtsiAsicSZip = \"application/vnd.etsi.asic-s+zip\";\n            /// <summary>application/vnd.etsi.asic-e+zip</summary>\n            public const string VndEtsiAsicEZip = \"application/vnd.etsi.asic-e+zip\";\n            /// <summary>application/vnd.etsi.cug+xml</summary>\n            public const string VndEtsiCugXml = \"application/vnd.etsi.cug+xml\";\n            /// <summary>application/vnd.etsi.iptvcommand+xml</summary>\n            public const string VndEtsiIptvcommandXml = \"application/vnd.etsi.iptvcommand+xml\";\n            /// <summary>application/vnd.etsi.iptvdiscovery+xml</summary>\n            public const string VndEtsiIptvdiscoveryXml = \"application/vnd.etsi.iptvdiscovery+xml\";\n            /// <summary>application/vnd.etsi.iptvprofile+xml</summary>\n            public const string VndEtsiIptvprofileXml = \"application/vnd.etsi.iptvprofile+xml\";\n            /// <summary>application/vnd.etsi.iptvsad-bc+xml</summary>\n            public const string VndEtsiIptvsadBcXml = \"application/vnd.etsi.iptvsad-bc+xml\";\n            /// <summary>application/vnd.etsi.iptvsad-cod+xml</summary>\n            public const string VndEtsiIptvsadCodXml = \"application/vnd.etsi.iptvsad-cod+xml\";\n            /// <summary>application/vnd.etsi.iptvsad-npvr+xml</summary>\n            public const string VndEtsiIptvsadNpvrXml = \"application/vnd.etsi.iptvsad-npvr+xml\";\n            /// <summary>application/vnd.etsi.iptvservice+xml</summary>\n            public const string VndEtsiIptvserviceXml = \"application/vnd.etsi.iptvservice+xml\";\n            /// <summary>application/vnd.etsi.iptvsync+xml</summary>\n            public const string VndEtsiIptvsyncXml = \"application/vnd.etsi.iptvsync+xml\";\n            /// <summary>application/vnd.etsi.iptvueprofile+xml</summary>\n            public const string VndEtsiIptvueprofileXml = \"application/vnd.etsi.iptvueprofile+xml\";\n            /// <summary>application/vnd.etsi.mcid+xml</summary>\n            public const string VndEtsiMcidXml = \"application/vnd.etsi.mcid+xml\";\n            /// <summary>application/vnd.etsi.mheg5</summary>\n            public const string VndEtsiMheg5 = \"application/vnd.etsi.mheg5\";\n            /// <summary>application/vnd.etsi.overload-control-policy-dataset+xml</summary>\n            public const string VndEtsiOverloadControlPolicyDatasetXml = \"application/vnd.etsi.overload-control-policy-dataset+xml\";\n            /// <summary>application/vnd.etsi.pstn+xml</summary>\n            public const string VndEtsiPstnXml = \"application/vnd.etsi.pstn+xml\";\n            /// <summary>application/vnd.etsi.sci+xml</summary>\n            public const string VndEtsiSciXml = \"application/vnd.etsi.sci+xml\";\n            /// <summary>application/vnd.etsi.simservs+xml</summary>\n            public const string VndEtsiSimservsXml = \"application/vnd.etsi.simservs+xml\";\n            /// <summary>application/vnd.etsi.timestamp-token</summary>\n            public const string VndEtsiTimestampToken = \"application/vnd.etsi.timestamp-token\";\n            /// <summary>application/vnd.etsi.tsl+xml</summary>\n            public const string VndEtsiTslXml = \"application/vnd.etsi.tsl+xml\";\n            /// <summary>application/vnd.etsi.tsl.der</summary>\n            public const string VndEtsiTslDer = \"application/vnd.etsi.tsl.der\";\n            /// <summary>application/vnd.eudora.data</summary>\n            public const string VndEudoraData = \"application/vnd.eudora.data\";\n            /// <summary>application/vnd.ezpix-album</summary>\n            public const string VndEzpixAlbum = \"application/vnd.ezpix-album\";\n            /// <summary>application/vnd.ezpix-package</summary>\n            public const string VndEzpixPackage = \"application/vnd.ezpix-package\";\n            /// <summary>application/vnd.f-secure.mobile</summary>\n            public const string VndFSecureMobile = \"application/vnd.f-secure.mobile\";\n            /// <summary>application/vnd.fdf</summary>\n            public const string VndFdf = \"application/vnd.fdf\";\n            /// <summary>application/vnd.fdsn.mseed</summary>\n            public const string VndFdsnMseed = \"application/vnd.fdsn.mseed\";\n            /// <summary>application/vnd.fdsn.seed</summary>\n            public const string VndFdsnSeed = \"application/vnd.fdsn.seed\";\n            /// <summary>application/vnd.ffsns</summary>\n            public const string VndFfsns = \"application/vnd.ffsns\";\n            /// <summary>application/vnd.fints</summary>\n            public const string VndFints = \"application/vnd.fints\";\n            /// <summary>application/vnd.FloGraphIt</summary>\n            public const string VndFlographit = \"application/vnd.FloGraphIt\";\n            /// <summary>application/vnd.fluxtime.clip</summary>\n            public const string VndFluxtimeClip = \"application/vnd.fluxtime.clip\";\n            /// <summary>application/vnd.font-fontforge-sfd</summary>\n            public const string VndFontFontforgeSfd = \"application/vnd.font-fontforge-sfd\";\n            /// <summary>application/vnd.framemaker</summary>\n            public const string VndFramemaker = \"application/vnd.framemaker\";\n            /// <summary>application/vnd.frogans.fnc</summary>\n            public const string VndFrogansFnc = \"application/vnd.frogans.fnc\";\n            /// <summary>application/vnd.frogans.ltf</summary>\n            public const string VndFrogansLtf = \"application/vnd.frogans.ltf\";\n            /// <summary>application/vnd.fsc.weblaunch</summary>\n            public const string VndFscWeblaunch = \"application/vnd.fsc.weblaunch\";\n            /// <summary>application/vnd.fujitsu.oasys</summary>\n            public const string VndFujitsuOasys = \"application/vnd.fujitsu.oasys\";\n            /// <summary>application/vnd.fujitsu.oasys2</summary>\n            public const string VndFujitsuOasys2 = \"application/vnd.fujitsu.oasys2\";\n            /// <summary>application/vnd.fujitsu.oasys3</summary>\n            public const string VndFujitsuOasys3 = \"application/vnd.fujitsu.oasys3\";\n            /// <summary>application/vnd.fujitsu.oasysgp</summary>\n            public const string VndFujitsuOasysgp = \"application/vnd.fujitsu.oasysgp\";\n            /// <summary>application/vnd.fujitsu.oasysprs</summary>\n            public const string VndFujitsuOasysprs = \"application/vnd.fujitsu.oasysprs\";\n            /// <summary>application/vnd.fujixerox.ART4</summary>\n            public const string VndFujixeroxArt4 = \"application/vnd.fujixerox.ART4\";\n            /// <summary>application/vnd.fujixerox.ART-EX</summary>\n            public const string VndFujixeroxArtEx = \"application/vnd.fujixerox.ART-EX\";\n            /// <summary>application/vnd.fujixerox.ddd</summary>\n            public const string VndFujixeroxDdd = \"application/vnd.fujixerox.ddd\";\n            /// <summary>application/vnd.fujixerox.docuworks</summary>\n            public const string VndFujixeroxDocuworks = \"application/vnd.fujixerox.docuworks\";\n            /// <summary>application/vnd.fujixerox.docuworks.binder</summary>\n            public const string VndFujixeroxDocuworksBinder = \"application/vnd.fujixerox.docuworks.binder\";\n            /// <summary>application/vnd.fujixerox.docuworks.container</summary>\n            public const string VndFujixeroxDocuworksContainer = \"application/vnd.fujixerox.docuworks.container\";\n            /// <summary>application/vnd.fujixerox.HBPL</summary>\n            public const string VndFujixeroxHbpl = \"application/vnd.fujixerox.HBPL\";\n            /// <summary>application/vnd.fut-misnet</summary>\n            public const string VndFutMisnet = \"application/vnd.fut-misnet\";\n            /// <summary>application/vnd.fuzzysheet</summary>\n            public const string VndFuzzysheet = \"application/vnd.fuzzysheet\";\n            /// <summary>application/vnd.genomatix.tuxedo</summary>\n            public const string VndGenomatixTuxedo = \"application/vnd.genomatix.tuxedo\";\n            /// <summary>application/vnd.geo+json</summary>\n            public const string VndGeoJson = \"application/vnd.geo+json\";\n            /// <summary>application/vnd.geocube+xml</summary>\n            [Obsolete(\"OBSOLETED by request\")]\n            public const string VndGeocubeXml = \"application/vnd.geocube+xml\";\n            /// <summary>application/vnd.geogebra.file</summary>\n            public const string VndGeogebraFile = \"application/vnd.geogebra.file\";\n            /// <summary>application/vnd.geogebra.tool</summary>\n            public const string VndGeogebraTool = \"application/vnd.geogebra.tool\";\n            /// <summary>application/vnd.geometry-explorer</summary>\n            public const string VndGeometryExplorer = \"application/vnd.geometry-explorer\";\n            /// <summary>application/vnd.geonext</summary>\n            public const string VndGeonext = \"application/vnd.geonext\";\n            /// <summary>application/vnd.geoplan</summary>\n            public const string VndGeoplan = \"application/vnd.geoplan\";\n            /// <summary>application/vnd.geospace</summary>\n            public const string VndGeospace = \"application/vnd.geospace\";\n            /// <summary>application/vnd.globalplatform.card-content-mgt</summary>\n            public const string VndGlobalplatformCardContentMgt = \"application/vnd.globalplatform.card-content-mgt\";\n            /// <summary>application/vnd.globalplatform.card-content-mgt-response</summary>\n            public const string VndGlobalplatformCardContentMgtResponse = \"application/vnd.globalplatform.card-content-mgt-response\";\n            /// <summary>application/vnd.gmx</summary>\n            [Obsolete(\"DEPRECATED\")]\n            public const string VndGmx = \"application/vnd.gmx\";\n            /// <summary>application/vnd.google-earth.kml+xml</summary>\n            public const string VndGoogleEarthKmlXml = \"application/vnd.google-earth.kml+xml\";\n            /// <summary>application/vnd.google-earth.kmz</summary>\n            public const string VndGoogleEarthKmz = \"application/vnd.google-earth.kmz\";\n            /// <summary>application/vnd.grafeq</summary>\n            public const string VndGrafeq = \"application/vnd.grafeq\";\n            /// <summary>application/vnd.gridmp</summary>\n            public const string VndGridmp = \"application/vnd.gridmp\";\n            /// <summary>application/vnd.groove-account</summary>\n            public const string VndGrooveAccount = \"application/vnd.groove-account\";\n            /// <summary>application/vnd.groove-help</summary>\n            public const string VndGrooveHelp = \"application/vnd.groove-help\";\n            /// <summary>application/vnd.groove-identity-message</summary>\n            public const string VndGrooveIdentityMessage = \"application/vnd.groove-identity-message\";\n            /// <summary>application/vnd.groove-injector</summary>\n            public const string VndGrooveInjector = \"application/vnd.groove-injector\";\n            /// <summary>application/vnd.groove-tool-message</summary>\n            public const string VndGrooveToolMessage = \"application/vnd.groove-tool-message\";\n            /// <summary>application/vnd.groove-tool-template</summary>\n            public const string VndGrooveToolTemplate = \"application/vnd.groove-tool-template\";\n            /// <summary>application/vnd.groove-vcard</summary>\n            public const string VndGrooveVcard = \"application/vnd.groove-vcard\";\n            /// <summary>application/vnd.hal+json</summary>\n            public const string VndHalJson = \"application/vnd.hal+json\";\n            /// <summary>application/vnd.hal+xml</summary>\n            public const string VndHalXml = \"application/vnd.hal+xml\";\n            /// <summary>application/vnd.HandHeld-Entertainment+xml</summary>\n            public const string VndHandheldEntertainmentXml = \"application/vnd.HandHeld-Entertainment+xml\";\n            /// <summary>application/vnd.hbci</summary>\n            public const string VndHbci = \"application/vnd.hbci\";\n            /// <summary>application/vnd.hcl-bireports</summary>\n            public const string VndHclBireports = \"application/vnd.hcl-bireports\";\n            /// <summary>application/vnd.heroku+json</summary>\n            public const string VndHerokuJson = \"application/vnd.heroku+json\";\n            /// <summary>application/vnd.hhe.lesson-player</summary>\n            public const string VndHheLessonPlayer = \"application/vnd.hhe.lesson-player\";\n            /// <summary>application/vnd.hp-HPGL</summary>\n            public const string VndHpHpgl = \"application/vnd.hp-HPGL\";\n            /// <summary>application/vnd.hp-hpid</summary>\n            public const string VndHpHpid = \"application/vnd.hp-hpid\";\n            /// <summary>application/vnd.hp-hps</summary>\n            public const string VndHpHps = \"application/vnd.hp-hps\";\n            /// <summary>application/vnd.hp-jlyt</summary>\n            public const string VndHpJlyt = \"application/vnd.hp-jlyt\";\n            /// <summary>application/vnd.hp-PCL</summary>\n            public const string VndHpPcl = \"application/vnd.hp-PCL\";\n            /// <summary>application/vnd.hp-PCLXL</summary>\n            public const string VndHpPclxl = \"application/vnd.hp-PCLXL\";\n            /// <summary>application/vnd.httphone</summary>\n            public const string VndHttphone = \"application/vnd.httphone\";\n            /// <summary>application/vnd.hydrostatix.sof-data</summary>\n            public const string VndHydrostatixSofData = \"application/vnd.hydrostatix.sof-data\";\n            /// <summary>application/vnd.hzn-3d-crossword</summary>\n            public const string VndHzn3dCrossword = \"application/vnd.hzn-3d-crossword\";\n            /// <summary>application/vnd.ibm.afplinedata</summary>\n            public const string VndIbmAfplinedata = \"application/vnd.ibm.afplinedata\";\n            /// <summary>application/vnd.ibm.electronic-media</summary>\n            public const string VndIbmElectronicMedia = \"application/vnd.ibm.electronic-media\";\n            /// <summary>application/vnd.ibm.MiniPay</summary>\n            public const string VndIbmMinipay = \"application/vnd.ibm.MiniPay\";\n            /// <summary>application/vnd.ibm.modcap</summary>\n            public const string VndIbmModcap = \"application/vnd.ibm.modcap\";\n            /// <summary>application/vnd.ibm.rights-management</summary>\n            public const string VndIbmRightsManagement = \"application/vnd.ibm.rights-management\";\n            /// <summary>application/vnd.ibm.secure-container</summary>\n            public const string VndIbmSecureContainer = \"application/vnd.ibm.secure-container\";\n            /// <summary>application/vnd.iccprofile</summary>\n            public const string VndIccprofile = \"application/vnd.iccprofile\";\n            /// <summary>application/vnd.ieee.1905</summary>\n            public const string VndIeee1905 = \"application/vnd.ieee.1905\";\n            /// <summary>application/vnd.igloader</summary>\n            public const string VndIgloader = \"application/vnd.igloader\";\n            /// <summary>application/vnd.immervision-ivp</summary>\n            public const string VndImmervisionIvp = \"application/vnd.immervision-ivp\";\n            /// <summary>application/vnd.immervision-ivu</summary>\n            public const string VndImmervisionIvu = \"application/vnd.immervision-ivu\";\n            /// <summary>application/vnd.ims.lis.v2.result+json</summary>\n            public const string VndImsLisV2ResultJson = \"application/vnd.ims.lis.v2.result+json\";\n            /// <summary>application/vnd.ims.lti.v2.toolconsumerprofile+json</summary>\n            public const string VndImsLtiV2ToolconsumerprofileJson = \"application/vnd.ims.lti.v2.toolconsumerprofile+json\";\n            /// <summary>application/vnd.ims.lti.v2.toolproxy.id+json</summary>\n            public const string VndImsLtiV2ToolproxyIdJson = \"application/vnd.ims.lti.v2.toolproxy.id+json\";\n            /// <summary>application/vnd.ims.lti.v2.toolproxy+json</summary>\n            public const string VndImsLtiV2ToolproxyJson = \"application/vnd.ims.lti.v2.toolproxy+json\";\n            /// <summary>application/vnd.ims.lti.v2.toolsettings+json</summary>\n            public const string VndImsLtiV2ToolsettingsJson = \"application/vnd.ims.lti.v2.toolsettings+json\";\n            /// <summary>application/vnd.ims.lti.v2.toolsettings.simple+json</summary>\n            public const string VndImsLtiV2ToolsettingsSimpleJson = \"application/vnd.ims.lti.v2.toolsettings.simple+json\";\n            /// <summary>application/vnd.informedcontrol.rms+xml</summary>\n            public const string VndInformedcontrolRmsXml = \"application/vnd.informedcontrol.rms+xml\";\n            /// <summary>application/vnd.infotech.project</summary>\n            public const string VndInfotechProject = \"application/vnd.infotech.project\";\n            /// <summary>application/vnd.infotech.project+xml</summary>\n            public const string VndInfotechProjectXml = \"application/vnd.infotech.project+xml\";\n            /// <summary>application/vnd.informix-visionary</summary>\n            [Obsolete(\"OBSOLETED in favor of application/vnd.visionary\")]\n            public const string VndInformixVisionary = \"application/vnd.informix-visionary\";\n            /// <summary>application/vnd.innopath.wamp.notification</summary>\n            public const string VndInnopathWampNotification = \"application/vnd.innopath.wamp.notification\";\n            /// <summary>application/vnd.insors.igm</summary>\n            public const string VndInsorsIgm = \"application/vnd.insors.igm\";\n            /// <summary>application/vnd.intercon.formnet</summary>\n            public const string VndInterconFormnet = \"application/vnd.intercon.formnet\";\n            /// <summary>application/vnd.intergeo</summary>\n            public const string VndIntergeo = \"application/vnd.intergeo\";\n            /// <summary>application/vnd.intertrust.digibox</summary>\n            public const string VndIntertrustDigibox = \"application/vnd.intertrust.digibox\";\n            /// <summary>application/vnd.intertrust.nncp</summary>\n            public const string VndIntertrustNncp = \"application/vnd.intertrust.nncp\";\n            /// <summary>application/vnd.intu.qbo</summary>\n            public const string VndIntuQbo = \"application/vnd.intu.qbo\";\n            /// <summary>application/vnd.intu.qfx</summary>\n            public const string VndIntuQfx = \"application/vnd.intu.qfx\";\n            /// <summary>application/vnd.iptc.g2.catalogitem+xml</summary>\n            public const string VndIptcG2CatalogitemXml = \"application/vnd.iptc.g2.catalogitem+xml\";\n            /// <summary>application/vnd.iptc.g2.conceptitem+xml</summary>\n            public const string VndIptcG2ConceptitemXml = \"application/vnd.iptc.g2.conceptitem+xml\";\n            /// <summary>application/vnd.iptc.g2.knowledgeitem+xml</summary>\n            public const string VndIptcG2KnowledgeitemXml = \"application/vnd.iptc.g2.knowledgeitem+xml\";\n            /// <summary>application/vnd.iptc.g2.newsitem+xml</summary>\n            public const string VndIptcG2NewsitemXml = \"application/vnd.iptc.g2.newsitem+xml\";\n            /// <summary>application/vnd.iptc.g2.newsmessage+xml</summary>\n            public const string VndIptcG2NewsmessageXml = \"application/vnd.iptc.g2.newsmessage+xml\";\n            /// <summary>application/vnd.iptc.g2.packageitem+xml</summary>\n            public const string VndIptcG2PackageitemXml = \"application/vnd.iptc.g2.packageitem+xml\";\n            /// <summary>application/vnd.iptc.g2.planningitem+xml</summary>\n            public const string VndIptcG2PlanningitemXml = \"application/vnd.iptc.g2.planningitem+xml\";\n            /// <summary>application/vnd.ipunplugged.rcprofile</summary>\n            public const string VndIpunpluggedRcprofile = \"application/vnd.ipunplugged.rcprofile\";\n            /// <summary>application/vnd.irepository.package+xml</summary>\n            public const string VndIrepositoryPackageXml = \"application/vnd.irepository.package+xml\";\n            /// <summary>application/vnd.is-xpr</summary>\n            public const string VndIsXpr = \"application/vnd.is-xpr\";\n            /// <summary>application/vnd.isac.fcs</summary>\n            public const string VndIsacFcs = \"application/vnd.isac.fcs\";\n            /// <summary>application/vnd.jam</summary>\n            public const string VndJam = \"application/vnd.jam\";\n            /// <summary>application/vnd.japannet-directory-service</summary>\n            public const string VndJapannetDirectoryService = \"application/vnd.japannet-directory-service\";\n            /// <summary>application/vnd.japannet-jpnstore-wakeup</summary>\n            public const string VndJapannetJpnstoreWakeup = \"application/vnd.japannet-jpnstore-wakeup\";\n            /// <summary>application/vnd.japannet-payment-wakeup</summary>\n            public const string VndJapannetPaymentWakeup = \"application/vnd.japannet-payment-wakeup\";\n            /// <summary>application/vnd.japannet-registration</summary>\n            public const string VndJapannetRegistration = \"application/vnd.japannet-registration\";\n            /// <summary>application/vnd.japannet-registration-wakeup</summary>\n            public const string VndJapannetRegistrationWakeup = \"application/vnd.japannet-registration-wakeup\";\n            /// <summary>application/vnd.japannet-setstore-wakeup</summary>\n            public const string VndJapannetSetstoreWakeup = \"application/vnd.japannet-setstore-wakeup\";\n            /// <summary>application/vnd.japannet-verification</summary>\n            public const string VndJapannetVerification = \"application/vnd.japannet-verification\";\n            /// <summary>application/vnd.japannet-verification-wakeup</summary>\n            public const string VndJapannetVerificationWakeup = \"application/vnd.japannet-verification-wakeup\";\n            /// <summary>application/vnd.jcp.javame.midlet-rms</summary>\n            public const string VndJcpJavameMidletRms = \"application/vnd.jcp.javame.midlet-rms\";\n            /// <summary>application/vnd.jisp</summary>\n            public const string VndJisp = \"application/vnd.jisp\";\n            /// <summary>application/vnd.joost.joda-archive</summary>\n            public const string VndJoostJodaArchive = \"application/vnd.joost.joda-archive\";\n            /// <summary>application/vnd.jsk.isdn-ngn</summary>\n            public const string VndJskIsdnNgn = \"application/vnd.jsk.isdn-ngn\";\n            /// <summary>application/vnd.kahootz</summary>\n            public const string VndKahootz = \"application/vnd.kahootz\";\n            /// <summary>application/vnd.kde.karbon</summary>\n            public const string VndKdeKarbon = \"application/vnd.kde.karbon\";\n            /// <summary>application/vnd.kde.kchart</summary>\n            public const string VndKdeKchart = \"application/vnd.kde.kchart\";\n            /// <summary>application/vnd.kde.kformula</summary>\n            public const string VndKdeKformula = \"application/vnd.kde.kformula\";\n            /// <summary>application/vnd.kde.kivio</summary>\n            public const string VndKdeKivio = \"application/vnd.kde.kivio\";\n            /// <summary>application/vnd.kde.kontour</summary>\n            public const string VndKdeKontour = \"application/vnd.kde.kontour\";\n            /// <summary>application/vnd.kde.kpresenter</summary>\n            public const string VndKdeKpresenter = \"application/vnd.kde.kpresenter\";\n            /// <summary>application/vnd.kde.kspread</summary>\n            public const string VndKdeKspread = \"application/vnd.kde.kspread\";\n            /// <summary>application/vnd.kde.kword</summary>\n            public const string VndKdeKword = \"application/vnd.kde.kword\";\n            /// <summary>application/vnd.kenameaapp</summary>\n            public const string VndKenameaapp = \"application/vnd.kenameaapp\";\n            /// <summary>application/vnd.kidspiration</summary>\n            public const string VndKidspiration = \"application/vnd.kidspiration\";\n            /// <summary>application/vnd.Kinar</summary>\n            public const string VndKinar = \"application/vnd.Kinar\";\n            /// <summary>application/vnd.koan</summary>\n            public const string VndKoan = \"application/vnd.koan\";\n            /// <summary>application/vnd.kodak-descriptor</summary>\n            public const string VndKodakDescriptor = \"application/vnd.kodak-descriptor\";\n            /// <summary>application/vnd.las.las+xml</summary>\n            public const string VndLasLasXml = \"application/vnd.las.las+xml\";\n            /// <summary>application/vnd.liberty-request+xml</summary>\n            public const string VndLibertyRequestXml = \"application/vnd.liberty-request+xml\";\n            /// <summary>application/vnd.llamagraphics.life-balance.desktop</summary>\n            public const string VndLlamagraphicsLifeBalanceDesktop = \"application/vnd.llamagraphics.life-balance.desktop\";\n            /// <summary>application/vnd.llamagraphics.life-balance.exchange+xml</summary>\n            public const string VndLlamagraphicsLifeBalanceExchangeXml = \"application/vnd.llamagraphics.life-balance.exchange+xml\";\n            /// <summary>application/vnd.lotus-1-2-3</summary>\n            public const string VndLotus123 = \"application/vnd.lotus-1-2-3\";\n            /// <summary>application/vnd.lotus-approach</summary>\n            public const string VndLotusApproach = \"application/vnd.lotus-approach\";\n            /// <summary>application/vnd.lotus-freelance</summary>\n            public const string VndLotusFreelance = \"application/vnd.lotus-freelance\";\n            /// <summary>application/vnd.lotus-notes</summary>\n            public const string VndLotusNotes = \"application/vnd.lotus-notes\";\n            /// <summary>application/vnd.lotus-organizer</summary>\n            public const string VndLotusOrganizer = \"application/vnd.lotus-organizer\";\n            /// <summary>application/vnd.lotus-screencam</summary>\n            public const string VndLotusScreencam = \"application/vnd.lotus-screencam\";\n            /// <summary>application/vnd.lotus-wordpro</summary>\n            public const string VndLotusWordpro = \"application/vnd.lotus-wordpro\";\n            /// <summary>application/vnd.macports.portpkg</summary>\n            public const string VndMacportsPortpkg = \"application/vnd.macports.portpkg\";\n            /// <summary>application/vnd.marlin.drm.actiontoken+xml</summary>\n            public const string VndMarlinDrmActiontokenXml = \"application/vnd.marlin.drm.actiontoken+xml\";\n            /// <summary>application/vnd.marlin.drm.conftoken+xml</summary>\n            public const string VndMarlinDrmConftokenXml = \"application/vnd.marlin.drm.conftoken+xml\";\n            /// <summary>application/vnd.marlin.drm.license+xml</summary>\n            public const string VndMarlinDrmLicenseXml = \"application/vnd.marlin.drm.license+xml\";\n            /// <summary>application/vnd.marlin.drm.mdcf</summary>\n            public const string VndMarlinDrmMdcf = \"application/vnd.marlin.drm.mdcf\";\n            /// <summary>application/vnd.mason+json</summary>\n            public const string VndMasonJson = \"application/vnd.mason+json\";\n            /// <summary>application/vnd.maxmind.maxmind-db</summary>\n            public const string VndMaxmindMaxmindDb = \"application/vnd.maxmind.maxmind-db\";\n            /// <summary>application/vnd.mcd</summary>\n            public const string VndMcd = \"application/vnd.mcd\";\n            /// <summary>application/vnd.medcalcdata</summary>\n            public const string VndMedcalcdata = \"application/vnd.medcalcdata\";\n            /// <summary>application/vnd.mediastation.cdkey</summary>\n            public const string VndMediastationCdkey = \"application/vnd.mediastation.cdkey\";\n            /// <summary>application/vnd.meridian-slingshot</summary>\n            public const string VndMeridianSlingshot = \"application/vnd.meridian-slingshot\";\n            /// <summary>application/vnd.MFER</summary>\n            public const string VndMfer = \"application/vnd.MFER\";\n            /// <summary>application/vnd.mfmp</summary>\n            public const string VndMfmp = \"application/vnd.mfmp\";\n            /// <summary>application/vnd.micrografx.flo</summary>\n            public const string VndMicrografxFlo = \"application/vnd.micrografx.flo\";\n            /// <summary>application/vnd.micrografx.igx</summary>\n            public const string VndMicrografxIgx = \"application/vnd.micrografx.igx\";\n            /// <summary>application/vnd.miele+json</summary>\n            public const string VndMieleJson = \"application/vnd.miele+json\";\n            /// <summary>application/vnd.mif</summary>\n            public const string VndMif = \"application/vnd.mif\";\n            /// <summary>application/vnd.minisoft-hp3000-save</summary>\n            public const string VndMinisoftHp3000Save = \"application/vnd.minisoft-hp3000-save\";\n            /// <summary>application/vnd.mitsubishi.misty-guard.trustweb</summary>\n            public const string VndMitsubishiMistyGuardTrustweb = \"application/vnd.mitsubishi.misty-guard.trustweb\";\n            /// <summary>application/vnd.Mobius.DAF</summary>\n            public const string VndMobiusDaf = \"application/vnd.Mobius.DAF\";\n            /// <summary>application/vnd.Mobius.DIS</summary>\n            public const string VndMobiusDis = \"application/vnd.Mobius.DIS\";\n            /// <summary>application/vnd.Mobius.MBK</summary>\n            public const string VndMobiusMbk = \"application/vnd.Mobius.MBK\";\n            /// <summary>application/vnd.Mobius.MQY</summary>\n            public const string VndMobiusMqy = \"application/vnd.Mobius.MQY\";\n            /// <summary>application/vnd.Mobius.MSL</summary>\n            public const string VndMobiusMsl = \"application/vnd.Mobius.MSL\";\n            /// <summary>application/vnd.Mobius.PLC</summary>\n            public const string VndMobiusPlc = \"application/vnd.Mobius.PLC\";\n            /// <summary>application/vnd.Mobius.TXF</summary>\n            public const string VndMobiusTxf = \"application/vnd.Mobius.TXF\";\n            /// <summary>application/vnd.mophun.application</summary>\n            public const string VndMophunApplication = \"application/vnd.mophun.application\";\n            /// <summary>application/vnd.mophun.certificate</summary>\n            public const string VndMophunCertificate = \"application/vnd.mophun.certificate\";\n            /// <summary>application/vnd.motorola.flexsuite</summary>\n            public const string VndMotorolaFlexsuite = \"application/vnd.motorola.flexsuite\";\n            /// <summary>application/vnd.motorola.flexsuite.adsi</summary>\n            public const string VndMotorolaFlexsuiteAdsi = \"application/vnd.motorola.flexsuite.adsi\";\n            /// <summary>application/vnd.motorola.flexsuite.fis</summary>\n            public const string VndMotorolaFlexsuiteFis = \"application/vnd.motorola.flexsuite.fis\";\n            /// <summary>application/vnd.motorola.flexsuite.gotap</summary>\n            public const string VndMotorolaFlexsuiteGotap = \"application/vnd.motorola.flexsuite.gotap\";\n            /// <summary>application/vnd.motorola.flexsuite.kmr</summary>\n            public const string VndMotorolaFlexsuiteKmr = \"application/vnd.motorola.flexsuite.kmr\";\n            /// <summary>application/vnd.motorola.flexsuite.ttc</summary>\n            public const string VndMotorolaFlexsuiteTtc = \"application/vnd.motorola.flexsuite.ttc\";\n            /// <summary>application/vnd.motorola.flexsuite.wem</summary>\n            public const string VndMotorolaFlexsuiteWem = \"application/vnd.motorola.flexsuite.wem\";\n            /// <summary>application/vnd.motorola.iprm</summary>\n            public const string VndMotorolaIprm = \"application/vnd.motorola.iprm\";\n            /// <summary>application/vnd.mozilla.xul+xml</summary>\n            public const string VndMozillaXulXml = \"application/vnd.mozilla.xul+xml\";\n            /// <summary>application/vnd.ms-artgalry</summary>\n            public const string VndMsArtgalry = \"application/vnd.ms-artgalry\";\n            /// <summary>application/vnd.ms-asf</summary>\n            public const string VndMsAsf = \"application/vnd.ms-asf\";\n            /// <summary>application/vnd.ms-cab-compressed</summary>\n            public const string VndMsCabCompressed = \"application/vnd.ms-cab-compressed\";\n            /// <summary>application/vnd.mseq</summary>\n            public const string VndMseq = \"application/vnd.mseq\";\n            /// <summary>application/vnd.ms-3mfdocument</summary>\n            public const string VndMs3mfdocument = \"application/vnd.ms-3mfdocument\";\n            /// <summary>application/vnd.ms-excel</summary>\n            public const string VndMsExcel = \"application/vnd.ms-excel\";\n            /// <summary>application/vnd.ms-excel.addin.macroEnabled.12</summary>\n            public const string VndMsExcelAddinMacroenabled12 = \"application/vnd.ms-excel.addin.macroEnabled.12\";\n            /// <summary>application/vnd.ms-excel.sheet.binary.macroEnabled.12</summary>\n            public const string VndMsExcelSheetBinaryMacroenabled12 = \"application/vnd.ms-excel.sheet.binary.macroEnabled.12\";\n            /// <summary>application/vnd.ms-excel.sheet.macroEnabled.12</summary>\n            public const string VndMsExcelSheetMacroenabled12 = \"application/vnd.ms-excel.sheet.macroEnabled.12\";\n            /// <summary>application/vnd.ms-excel.template.macroEnabled.12</summary>\n            public const string VndMsExcelTemplateMacroenabled12 = \"application/vnd.ms-excel.template.macroEnabled.12\";\n            /// <summary>application/vnd.ms-fontobject</summary>\n            public const string VndMsFontobject = \"application/vnd.ms-fontobject\";\n            /// <summary>application/vnd.ms-htmlhelp</summary>\n            public const string VndMsHtmlhelp = \"application/vnd.ms-htmlhelp\";\n            /// <summary>application/vnd.ms-ims</summary>\n            public const string VndMsIms = \"application/vnd.ms-ims\";\n            /// <summary>application/vnd.ms-lrm</summary>\n            public const string VndMsLrm = \"application/vnd.ms-lrm\";\n            /// <summary>application/vnd.ms-office.activeX+xml</summary>\n            public const string VndMsOfficeActivexXml = \"application/vnd.ms-office.activeX+xml\";\n            /// <summary>application/vnd.ms-officetheme</summary>\n            public const string VndMsOfficetheme = \"application/vnd.ms-officetheme\";\n            /// <summary>application/vnd.ms-playready.initiator+xml</summary>\n            public const string VndMsPlayreadyInitiatorXml = \"application/vnd.ms-playready.initiator+xml\";\n            /// <summary>application/vnd.ms-powerpoint</summary>\n            public const string VndMsPowerpoint = \"application/vnd.ms-powerpoint\";\n            /// <summary>application/vnd.ms-powerpoint.addin.macroEnabled.12</summary>\n            public const string VndMsPowerpointAddinMacroenabled12 = \"application/vnd.ms-powerpoint.addin.macroEnabled.12\";\n            /// <summary>application/vnd.ms-powerpoint.presentation.macroEnabled.12</summary>\n            public const string VndMsPowerpointPresentationMacroenabled12 = \"application/vnd.ms-powerpoint.presentation.macroEnabled.12\";\n            /// <summary>application/vnd.ms-powerpoint.slide.macroEnabled.12</summary>\n            public const string VndMsPowerpointSlideMacroenabled12 = \"application/vnd.ms-powerpoint.slide.macroEnabled.12\";\n            /// <summary>application/vnd.ms-powerpoint.slideshow.macroEnabled.12</summary>\n            public const string VndMsPowerpointSlideshowMacroenabled12 = \"application/vnd.ms-powerpoint.slideshow.macroEnabled.12\";\n            /// <summary>application/vnd.ms-powerpoint.template.macroEnabled.12</summary>\n            public const string VndMsPowerpointTemplateMacroenabled12 = \"application/vnd.ms-powerpoint.template.macroEnabled.12\";\n            /// <summary>application/vnd.ms-project</summary>\n            public const string VndMsProject = \"application/vnd.ms-project\";\n            /// <summary>application/vnd.ms-tnef</summary>\n            public const string VndMsTnef = \"application/vnd.ms-tnef\";\n            /// <summary>application/vnd.ms-windows.printerpairing</summary>\n            public const string VndMsWindowsPrinterpairing = \"application/vnd.ms-windows.printerpairing\";\n            /// <summary>application/vnd.ms-wmdrm.lic-chlg-req</summary>\n            public const string VndMsWmdrmLicChlgReq = \"application/vnd.ms-wmdrm.lic-chlg-req\";\n            /// <summary>application/vnd.ms-wmdrm.lic-resp</summary>\n            public const string VndMsWmdrmLicResp = \"application/vnd.ms-wmdrm.lic-resp\";\n            /// <summary>application/vnd.ms-wmdrm.meter-chlg-req</summary>\n            public const string VndMsWmdrmMeterChlgReq = \"application/vnd.ms-wmdrm.meter-chlg-req\";\n            /// <summary>application/vnd.ms-wmdrm.meter-resp</summary>\n            public const string VndMsWmdrmMeterResp = \"application/vnd.ms-wmdrm.meter-resp\";\n            /// <summary>application/vnd.ms-word.document.macroEnabled.12</summary>\n            public const string VndMsWordDocumentMacroenabled12 = \"application/vnd.ms-word.document.macroEnabled.12\";\n            /// <summary>application/vnd.ms-word.template.macroEnabled.12</summary>\n            public const string VndMsWordTemplateMacroenabled12 = \"application/vnd.ms-word.template.macroEnabled.12\";\n            /// <summary>application/vnd.ms-works</summary>\n            public const string VndMsWorks = \"application/vnd.ms-works\";\n            /// <summary>application/vnd.ms-wpl</summary>\n            public const string VndMsWpl = \"application/vnd.ms-wpl\";\n            /// <summary>application/vnd.ms-xpsdocument</summary>\n            public const string VndMsXpsdocument = \"application/vnd.ms-xpsdocument\";\n            /// <summary>application/vnd.msign</summary>\n            public const string VndMsign = \"application/vnd.msign\";\n            /// <summary>application/vnd.multiad.creator</summary>\n            public const string VndMultiadCreator = \"application/vnd.multiad.creator\";\n            /// <summary>application/vnd.multiad.creator.cif</summary>\n            public const string VndMultiadCreatorCif = \"application/vnd.multiad.creator.cif\";\n            /// <summary>application/vnd.musician</summary>\n            public const string VndMusician = \"application/vnd.musician\";\n            /// <summary>application/vnd.music-niff</summary>\n            public const string VndMusicNiff = \"application/vnd.music-niff\";\n            /// <summary>application/vnd.muvee.style</summary>\n            public const string VndMuveeStyle = \"application/vnd.muvee.style\";\n            /// <summary>application/vnd.mynfc</summary>\n            public const string VndMynfc = \"application/vnd.mynfc\";\n            /// <summary>application/vnd.ncd.control</summary>\n            public const string VndNcdControl = \"application/vnd.ncd.control\";\n            /// <summary>application/vnd.ncd.reference</summary>\n            public const string VndNcdReference = \"application/vnd.ncd.reference\";\n            /// <summary>application/vnd.nervana</summary>\n            public const string VndNervana = \"application/vnd.nervana\";\n            /// <summary>application/vnd.netfpx</summary>\n            public const string VndNetfpx = \"application/vnd.netfpx\";\n            /// <summary>application/vnd.neurolanguage.nlu</summary>\n            public const string VndNeurolanguageNlu = \"application/vnd.neurolanguage.nlu\";\n            /// <summary>application/vnd.nintendo.snes.rom</summary>\n            public const string VndNintendoSnesRom = \"application/vnd.nintendo.snes.rom\";\n            /// <summary>application/vnd.nintendo.nitro.rom</summary>\n            public const string VndNintendoNitroRom = \"application/vnd.nintendo.nitro.rom\";\n            /// <summary>application/vnd.nitf</summary>\n            public const string VndNitf = \"application/vnd.nitf\";\n            /// <summary>application/vnd.noblenet-directory</summary>\n            public const string VndNoblenetDirectory = \"application/vnd.noblenet-directory\";\n            /// <summary>application/vnd.noblenet-sealer</summary>\n            public const string VndNoblenetSealer = \"application/vnd.noblenet-sealer\";\n            /// <summary>application/vnd.noblenet-web</summary>\n            public const string VndNoblenetWeb = \"application/vnd.noblenet-web\";\n            /// <summary>application/vnd.nokia.catalogs</summary>\n            public const string VndNokiaCatalogs = \"application/vnd.nokia.catalogs\";\n            /// <summary>application/vnd.nokia.conml+wbxml</summary>\n            public const string VndNokiaConmlWbxml = \"application/vnd.nokia.conml+wbxml\";\n            /// <summary>application/vnd.nokia.conml+xml</summary>\n            public const string VndNokiaConmlXml = \"application/vnd.nokia.conml+xml\";\n            /// <summary>application/vnd.nokia.iptv.config+xml</summary>\n            public const string VndNokiaIptvConfigXml = \"application/vnd.nokia.iptv.config+xml\";\n            /// <summary>application/vnd.nokia.iSDS-radio-presets</summary>\n            public const string VndNokiaIsdsRadioPresets = \"application/vnd.nokia.iSDS-radio-presets\";\n            /// <summary>application/vnd.nokia.landmark+wbxml</summary>\n            public const string VndNokiaLandmarkWbxml = \"application/vnd.nokia.landmark+wbxml\";\n            /// <summary>application/vnd.nokia.landmark+xml</summary>\n            public const string VndNokiaLandmarkXml = \"application/vnd.nokia.landmark+xml\";\n            /// <summary>application/vnd.nokia.landmarkcollection+xml</summary>\n            public const string VndNokiaLandmarkcollectionXml = \"application/vnd.nokia.landmarkcollection+xml\";\n            /// <summary>application/vnd.nokia.ncd</summary>\n            public const string VndNokiaNcd = \"application/vnd.nokia.ncd\";\n            /// <summary>application/vnd.nokia.n-gage.ac+xml</summary>\n            public const string VndNokiaNGageAcXml = \"application/vnd.nokia.n-gage.ac+xml\";\n            /// <summary>application/vnd.nokia.n-gage.data</summary>\n            public const string VndNokiaNGageData = \"application/vnd.nokia.n-gage.data\";\n            /// <summary>application/vnd.nokia.n-gage.symbian.install</summary>\n            [Obsolete(\"OBSOLETE; no replacement given\")]\n            public const string VndNokiaNGageSymbianInstall = \"application/vnd.nokia.n-gage.symbian.install\";\n            /// <summary>application/vnd.nokia.pcd+wbxml</summary>\n            public const string VndNokiaPcdWbxml = \"application/vnd.nokia.pcd+wbxml\";\n            /// <summary>application/vnd.nokia.pcd+xml</summary>\n            public const string VndNokiaPcdXml = \"application/vnd.nokia.pcd+xml\";\n            /// <summary>application/vnd.nokia.radio-preset</summary>\n            public const string VndNokiaRadioPreset = \"application/vnd.nokia.radio-preset\";\n            /// <summary>application/vnd.nokia.radio-presets</summary>\n            public const string VndNokiaRadioPresets = \"application/vnd.nokia.radio-presets\";\n            /// <summary>application/vnd.novadigm.EDM</summary>\n            public const string VndNovadigmEdm = \"application/vnd.novadigm.EDM\";\n            /// <summary>application/vnd.novadigm.EDX</summary>\n            public const string VndNovadigmEdx = \"application/vnd.novadigm.EDX\";\n            /// <summary>application/vnd.novadigm.EXT</summary>\n            public const string VndNovadigmExt = \"application/vnd.novadigm.EXT\";\n            /// <summary>application/vnd.ntt-local.content-share</summary>\n            public const string VndNttLocalContentShare = \"application/vnd.ntt-local.content-share\";\n            /// <summary>application/vnd.ntt-local.file-transfer</summary>\n            public const string VndNttLocalFileTransfer = \"application/vnd.ntt-local.file-transfer\";\n            /// <summary>application/vnd.ntt-local.ogw_remote-access</summary>\n            public const string VndNttLocalOgwRemoteAccess = \"application/vnd.ntt-local.ogw_remote-access\";\n            /// <summary>application/vnd.ntt-local.sip-ta_remote</summary>\n            public const string VndNttLocalSipTaRemote = \"application/vnd.ntt-local.sip-ta_remote\";\n            /// <summary>application/vnd.ntt-local.sip-ta_tcp_stream</summary>\n            public const string VndNttLocalSipTaTcpStream = \"application/vnd.ntt-local.sip-ta_tcp_stream\";\n            /// <summary>application/vnd.oasis.opendocument.chart</summary>\n            public const string VndOasisOpendocumentChart = \"application/vnd.oasis.opendocument.chart\";\n            /// <summary>application/vnd.oasis.opendocument.chart-template</summary>\n            public const string VndOasisOpendocumentChartTemplate = \"application/vnd.oasis.opendocument.chart-template\";\n            /// <summary>application/vnd.oasis.opendocument.database</summary>\n            public const string VndOasisOpendocumentDatabase = \"application/vnd.oasis.opendocument.database\";\n            /// <summary>application/vnd.oasis.opendocument.formula</summary>\n            public const string VndOasisOpendocumentFormula = \"application/vnd.oasis.opendocument.formula\";\n            /// <summary>application/vnd.oasis.opendocument.formula-template</summary>\n            public const string VndOasisOpendocumentFormulaTemplate = \"application/vnd.oasis.opendocument.formula-template\";\n            /// <summary>application/vnd.oasis.opendocument.graphics</summary>\n            public const string VndOasisOpendocumentGraphics = \"application/vnd.oasis.opendocument.graphics\";\n            /// <summary>application/vnd.oasis.opendocument.graphics-template</summary>\n            public const string VndOasisOpendocumentGraphicsTemplate = \"application/vnd.oasis.opendocument.graphics-template\";\n            /// <summary>application/vnd.oasis.opendocument.image</summary>\n            public const string VndOasisOpendocumentImage = \"application/vnd.oasis.opendocument.image\";\n            /// <summary>application/vnd.oasis.opendocument.image-template</summary>\n            public const string VndOasisOpendocumentImageTemplate = \"application/vnd.oasis.opendocument.image-template\";\n            /// <summary>application/vnd.oasis.opendocument.presentation</summary>\n            public const string VndOasisOpendocumentPresentation = \"application/vnd.oasis.opendocument.presentation\";\n            /// <summary>application/vnd.oasis.opendocument.presentation-template</summary>\n            public const string VndOasisOpendocumentPresentationTemplate = \"application/vnd.oasis.opendocument.presentation-template\";\n            /// <summary>application/vnd.oasis.opendocument.spreadsheet</summary>\n            public const string VndOasisOpendocumentSpreadsheet = \"application/vnd.oasis.opendocument.spreadsheet\";\n            /// <summary>application/vnd.oasis.opendocument.spreadsheet-template</summary>\n            public const string VndOasisOpendocumentSpreadsheetTemplate = \"application/vnd.oasis.opendocument.spreadsheet-template\";\n            /// <summary>application/vnd.oasis.opendocument.text</summary>\n            public const string VndOasisOpendocumentText = \"application/vnd.oasis.opendocument.text\";\n            /// <summary>application/vnd.oasis.opendocument.text-master</summary>\n            public const string VndOasisOpendocumentTextMaster = \"application/vnd.oasis.opendocument.text-master\";\n            /// <summary>application/vnd.oasis.opendocument.text-template</summary>\n            public const string VndOasisOpendocumentTextTemplate = \"application/vnd.oasis.opendocument.text-template\";\n            /// <summary>application/vnd.oasis.opendocument.text-web</summary>\n            public const string VndOasisOpendocumentTextWeb = \"application/vnd.oasis.opendocument.text-web\";\n            /// <summary>application/vnd.obn</summary>\n            public const string VndObn = \"application/vnd.obn\";\n            /// <summary>application/vnd.oftn.l10n+json</summary>\n            public const string VndOftnL10nJson = \"application/vnd.oftn.l10n+json\";\n            /// <summary>application/vnd.oipf.contentaccessdownload+xml</summary>\n            public const string VndOipfContentaccessdownloadXml = \"application/vnd.oipf.contentaccessdownload+xml\";\n            /// <summary>application/vnd.oipf.contentaccessstreaming+xml</summary>\n            public const string VndOipfContentaccessstreamingXml = \"application/vnd.oipf.contentaccessstreaming+xml\";\n            /// <summary>application/vnd.oipf.cspg-hexbinary</summary>\n            public const string VndOipfCspgHexbinary = \"application/vnd.oipf.cspg-hexbinary\";\n            /// <summary>application/vnd.oipf.dae.svg+xml</summary>\n            public const string VndOipfDaeSvgXml = \"application/vnd.oipf.dae.svg+xml\";\n            /// <summary>application/vnd.oipf.dae.xhtml+xml</summary>\n            public const string VndOipfDaeXhtmlXml = \"application/vnd.oipf.dae.xhtml+xml\";\n            /// <summary>application/vnd.oipf.mippvcontrolmessage+xml</summary>\n            public const string VndOipfMippvcontrolmessageXml = \"application/vnd.oipf.mippvcontrolmessage+xml\";\n            /// <summary>application/vnd.oipf.pae.gem</summary>\n            public const string VndOipfPaeGem = \"application/vnd.oipf.pae.gem\";\n            /// <summary>application/vnd.oipf.spdiscovery+xml</summary>\n            public const string VndOipfSpdiscoveryXml = \"application/vnd.oipf.spdiscovery+xml\";\n            /// <summary>application/vnd.oipf.spdlist+xml</summary>\n            public const string VndOipfSpdlistXml = \"application/vnd.oipf.spdlist+xml\";\n            /// <summary>application/vnd.oipf.ueprofile+xml</summary>\n            public const string VndOipfUeprofileXml = \"application/vnd.oipf.ueprofile+xml\";\n            /// <summary>application/vnd.oipf.userprofile+xml</summary>\n            public const string VndOipfUserprofileXml = \"application/vnd.oipf.userprofile+xml\";\n            /// <summary>application/vnd.olpc-sugar</summary>\n            public const string VndOlpcSugar = \"application/vnd.olpc-sugar\";\n            /// <summary>application/vnd.oma.bcast.associated-procedure-parameter+xml</summary>\n            public const string VndOmaBcastAssociatedProcedureParameterXml = \"application/vnd.oma.bcast.associated-procedure-parameter+xml\";\n            /// <summary>application/vnd.oma.bcast.drm-trigger+xml</summary>\n            public const string VndOmaBcastDrmTriggerXml = \"application/vnd.oma.bcast.drm-trigger+xml\";\n            /// <summary>application/vnd.oma.bcast.imd+xml</summary>\n            public const string VndOmaBcastImdXml = \"application/vnd.oma.bcast.imd+xml\";\n            /// <summary>application/vnd.oma.bcast.ltkm</summary>\n            public const string VndOmaBcastLtkm = \"application/vnd.oma.bcast.ltkm\";\n            /// <summary>application/vnd.oma.bcast.notification+xml</summary>\n            public const string VndOmaBcastNotificationXml = \"application/vnd.oma.bcast.notification+xml\";\n            /// <summary>application/vnd.oma.bcast.provisioningtrigger</summary>\n            public const string VndOmaBcastProvisioningtrigger = \"application/vnd.oma.bcast.provisioningtrigger\";\n            /// <summary>application/vnd.oma.bcast.sgboot</summary>\n            public const string VndOmaBcastSgboot = \"application/vnd.oma.bcast.sgboot\";\n            /// <summary>application/vnd.oma.bcast.sgdd+xml</summary>\n            public const string VndOmaBcastSgddXml = \"application/vnd.oma.bcast.sgdd+xml\";\n            /// <summary>application/vnd.oma.bcast.sgdu</summary>\n            public const string VndOmaBcastSgdu = \"application/vnd.oma.bcast.sgdu\";\n            /// <summary>application/vnd.oma.bcast.simple-symbol-container</summary>\n            public const string VndOmaBcastSimpleSymbolContainer = \"application/vnd.oma.bcast.simple-symbol-container\";\n            /// <summary>application/vnd.oma.bcast.smartcard-trigger+xml</summary>\n            public const string VndOmaBcastSmartcardTriggerXml = \"application/vnd.oma.bcast.smartcard-trigger+xml\";\n            /// <summary>application/vnd.oma.bcast.sprov+xml</summary>\n            public const string VndOmaBcastSprovXml = \"application/vnd.oma.bcast.sprov+xml\";\n            /// <summary>application/vnd.oma.bcast.stkm</summary>\n            public const string VndOmaBcastStkm = \"application/vnd.oma.bcast.stkm\";\n            /// <summary>application/vnd.oma.cab-address-book+xml</summary>\n            public const string VndOmaCabAddressBookXml = \"application/vnd.oma.cab-address-book+xml\";\n            /// <summary>application/vnd.oma.cab-feature-handler+xml</summary>\n            public const string VndOmaCabFeatureHandlerXml = \"application/vnd.oma.cab-feature-handler+xml\";\n            /// <summary>application/vnd.oma.cab-pcc+xml</summary>\n            public const string VndOmaCabPccXml = \"application/vnd.oma.cab-pcc+xml\";\n            /// <summary>application/vnd.oma.cab-subs-invite+xml</summary>\n            public const string VndOmaCabSubsInviteXml = \"application/vnd.oma.cab-subs-invite+xml\";\n            /// <summary>application/vnd.oma.cab-user-prefs+xml</summary>\n            public const string VndOmaCabUserPrefsXml = \"application/vnd.oma.cab-user-prefs+xml\";\n            /// <summary>application/vnd.oma.dcd</summary>\n            public const string VndOmaDcd = \"application/vnd.oma.dcd\";\n            /// <summary>application/vnd.oma.dcdc</summary>\n            public const string VndOmaDcdc = \"application/vnd.oma.dcdc\";\n            /// <summary>application/vnd.oma.dd2+xml</summary>\n            public const string VndOmaDd2Xml = \"application/vnd.oma.dd2+xml\";\n            /// <summary>application/vnd.oma.drm.risd+xml</summary>\n            public const string VndOmaDrmRisdXml = \"application/vnd.oma.drm.risd+xml\";\n            /// <summary>application/vnd.oma.group-usage-list+xml</summary>\n            public const string VndOmaGroupUsageListXml = \"application/vnd.oma.group-usage-list+xml\";\n            /// <summary>application/vnd.oma.pal+xml</summary>\n            public const string VndOmaPalXml = \"application/vnd.oma.pal+xml\";\n            /// <summary>application/vnd.oma.poc.detailed-progress-report+xml</summary>\n            public const string VndOmaPocDetailedProgressReportXml = \"application/vnd.oma.poc.detailed-progress-report+xml\";\n            /// <summary>application/vnd.oma.poc.final-report+xml</summary>\n            public const string VndOmaPocFinalReportXml = \"application/vnd.oma.poc.final-report+xml\";\n            /// <summary>application/vnd.oma.poc.groups+xml</summary>\n            public const string VndOmaPocGroupsXml = \"application/vnd.oma.poc.groups+xml\";\n            /// <summary>application/vnd.oma.poc.invocation-descriptor+xml</summary>\n            public const string VndOmaPocInvocationDescriptorXml = \"application/vnd.oma.poc.invocation-descriptor+xml\";\n            /// <summary>application/vnd.oma.poc.optimized-progress-report+xml</summary>\n            public const string VndOmaPocOptimizedProgressReportXml = \"application/vnd.oma.poc.optimized-progress-report+xml\";\n            /// <summary>application/vnd.oma.push</summary>\n            public const string VndOmaPush = \"application/vnd.oma.push\";\n            /// <summary>application/vnd.oma.scidm.messages+xml</summary>\n            public const string VndOmaScidmMessagesXml = \"application/vnd.oma.scidm.messages+xml\";\n            /// <summary>application/vnd.oma.xcap-directory+xml</summary>\n            public const string VndOmaXcapDirectoryXml = \"application/vnd.oma.xcap-directory+xml\";\n            /// <summary>application/vnd.omads-email+xml</summary>\n            public const string VndOmadsEmailXml = \"application/vnd.omads-email+xml\";\n            /// <summary>application/vnd.omads-file+xml</summary>\n            public const string VndOmadsFileXml = \"application/vnd.omads-file+xml\";\n            /// <summary>application/vnd.omads-folder+xml</summary>\n            public const string VndOmadsFolderXml = \"application/vnd.omads-folder+xml\";\n            /// <summary>application/vnd.omaloc-supl-init</summary>\n            public const string VndOmalocSuplInit = \"application/vnd.omaloc-supl-init\";\n            /// <summary>application/vnd.oma-scws-config</summary>\n            public const string VndOmaScwsConfig = \"application/vnd.oma-scws-config\";\n            /// <summary>application/vnd.oma-scws-http-request</summary>\n            public const string VndOmaScwsHttpRequest = \"application/vnd.oma-scws-http-request\";\n            /// <summary>application/vnd.oma-scws-http-response</summary>\n            public const string VndOmaScwsHttpResponse = \"application/vnd.oma-scws-http-response\";\n            /// <summary>application/vnd.openeye.oeb</summary>\n            public const string VndOpeneyeOeb = \"application/vnd.openeye.oeb\";\n            /// <summary>application/vnd.openxmlformats-officedocument.custom-properties+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentCustomPropertiesXml = \"application/vnd.openxmlformats-officedocument.custom-properties+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.customXmlProperties+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentCustomxmlpropertiesXml = \"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawing+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingXml = \"application/vnd.openxmlformats-officedocument.drawing+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.chart+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlChartXml = \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlChartshapesXml = \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlDiagramcolorsXml = \"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlDiagramdataXml = \"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlDiagramlayoutXml = \"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentDrawingmlDiagramstyleXml = \"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.extended-properties+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentExtendedPropertiesXml = \"application/vnd.openxmlformats-officedocument.extended-properties+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlCommentauthorsXml = \"application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.comments+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlCommentsXml = \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlHandoutmasterXml = \"application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlNotesmasterXml = \"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlNotesslideXml = \"application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.presentation</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlPresentation = \"application/vnd.openxmlformats-officedocument.presentationml.presentation\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlPresentationMainXml = \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.presProps+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlPrespropsXml = \"application/vnd.openxmlformats-officedocument.presentationml.presProps+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slide</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlide = \"application/vnd.openxmlformats-officedocument.presentationml.slide\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slide+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlideXml = \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlidelayoutXml = \"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlidemasterXml = \"application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slideshow</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlideshow = \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlideshowMainXml = \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlSlideupdateinfoXml = \"application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlTablestylesXml = \"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.tags+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlTagsXml = \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.template</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlTemplate = \"application/vnd.openxmlformats-officedocument.presentationml.template\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.template.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlTemplateMainXml = \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentPresentationmlViewpropsXml = \"application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlCalcchainXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlChartsheetXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlCommentsXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlConnectionsXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlDialogsheetXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlExternallinkXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlPivotcachedefinitionXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlPivotcacherecordsXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlPivottableXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlQuerytableXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlRevisionheadersXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlRevisionlogXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlSharedstringsXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlSheet = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlSheetMainXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlSheetmetadataXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlStylesXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlTableXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlTablesinglecellsXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.template</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlTemplate = \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlTemplateMainXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlUsernamesXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlVolatiledependenciesXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentSpreadsheetmlWorksheetXml = \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.theme+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentThemeXml = \"application/vnd.openxmlformats-officedocument.theme+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.themeOverride+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentThemeoverrideXml = \"application/vnd.openxmlformats-officedocument.themeOverride+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.vmlDrawing</summary>\n            public const string VndOpenxmlformatsOfficedocumentVmldrawing = \"application/vnd.openxmlformats-officedocument.vmlDrawing\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlCommentsXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.document</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlDocument = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlDocumentGlossaryXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlDocumentMainXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlEndnotesXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlFonttableXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlFooterXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlFootnotesXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlNumberingXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlSettingsXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlStylesXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.template</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlTemplate = \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlTemplateMainXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\";\n            /// <summary>application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml</summary>\n            public const string VndOpenxmlformatsOfficedocumentWordprocessingmlWebsettingsXml = \"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml\";\n            /// <summary>application/vnd.openxmlformats-package.core-properties+xml</summary>\n            public const string VndOpenxmlformatsPackageCorePropertiesXml = \"application/vnd.openxmlformats-package.core-properties+xml\";\n            /// <summary>application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml</summary>\n            public const string VndOpenxmlformatsPackageDigitalSignatureXmlsignatureXml = \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\";\n            /// <summary>application/vnd.openxmlformats-package.relationships+xml</summary>\n            public const string VndOpenxmlformatsPackageRelationshipsXml = \"application/vnd.openxmlformats-package.relationships+xml\";\n            /// <summary>application/vnd.orange.indata</summary>\n            public const string VndOrangeIndata = \"application/vnd.orange.indata\";\n            /// <summary>application/vnd.osa.netdeploy</summary>\n            public const string VndOsaNetdeploy = \"application/vnd.osa.netdeploy\";\n            /// <summary>application/vnd.osgeo.mapguide.package</summary>\n            public const string VndOsgeoMapguidePackage = \"application/vnd.osgeo.mapguide.package\";\n            /// <summary>application/vnd.osgi.bundle</summary>\n            public const string VndOsgiBundle = \"application/vnd.osgi.bundle\";\n            /// <summary>application/vnd.osgi.dp</summary>\n            public const string VndOsgiDp = \"application/vnd.osgi.dp\";\n            /// <summary>application/vnd.osgi.subsystem</summary>\n            public const string VndOsgiSubsystem = \"application/vnd.osgi.subsystem\";\n            /// <summary>application/vnd.otps.ct-kip+xml</summary>\n            public const string VndOtpsCtKipXml = \"application/vnd.otps.ct-kip+xml\";\n            /// <summary>application/vnd.palm</summary>\n            public const string VndPalm = \"application/vnd.palm\";\n            /// <summary>application/vnd.panoply</summary>\n            public const string VndPanoply = \"application/vnd.panoply\";\n            /// <summary>application/vnd.paos.xml</summary>\n            public const string VndPaosXml = \"application/vnd.paos.xml\";\n            /// <summary>application/vnd.pawaafile</summary>\n            public const string VndPawaafile = \"application/vnd.pawaafile\";\n            /// <summary>application/vnd.pcos</summary>\n            public const string VndPcos = \"application/vnd.pcos\";\n            /// <summary>application/vnd.pg.format</summary>\n            public const string VndPgFormat = \"application/vnd.pg.format\";\n            /// <summary>application/vnd.pg.osasli</summary>\n            public const string VndPgOsasli = \"application/vnd.pg.osasli\";\n            /// <summary>application/vnd.piaccess.application-licence</summary>\n            public const string VndPiaccessApplicationLicence = \"application/vnd.piaccess.application-licence\";\n            /// <summary>application/vnd.picsel</summary>\n            public const string VndPicsel = \"application/vnd.picsel\";\n            /// <summary>application/vnd.pmi.widget</summary>\n            public const string VndPmiWidget = \"application/vnd.pmi.widget\";\n            /// <summary>application/vnd.poc.group-advertisement+xml</summary>\n            public const string VndPocGroupAdvertisementXml = \"application/vnd.poc.group-advertisement+xml\";\n            /// <summary>application/vnd.pocketlearn</summary>\n            public const string VndPocketlearn = \"application/vnd.pocketlearn\";\n            /// <summary>application/vnd.powerbuilder6</summary>\n            public const string VndPowerbuilder6 = \"application/vnd.powerbuilder6\";\n            /// <summary>application/vnd.powerbuilder6-s</summary>\n            public const string VndPowerbuilder6S = \"application/vnd.powerbuilder6-s\";\n            /// <summary>application/vnd.powerbuilder7</summary>\n            public const string VndPowerbuilder7 = \"application/vnd.powerbuilder7\";\n            /// <summary>application/vnd.powerbuilder75</summary>\n            public const string VndPowerbuilder75 = \"application/vnd.powerbuilder75\";\n            /// <summary>application/vnd.powerbuilder75-s</summary>\n            public const string VndPowerbuilder75S = \"application/vnd.powerbuilder75-s\";\n            /// <summary>application/vnd.powerbuilder7-s</summary>\n            public const string VndPowerbuilder7S = \"application/vnd.powerbuilder7-s\";\n            /// <summary>application/vnd.preminet</summary>\n            public const string VndPreminet = \"application/vnd.preminet\";\n            /// <summary>application/vnd.previewsystems.box</summary>\n            public const string VndPreviewsystemsBox = \"application/vnd.previewsystems.box\";\n            /// <summary>application/vnd.proteus.magazine</summary>\n            public const string VndProteusMagazine = \"application/vnd.proteus.magazine\";\n            /// <summary>application/vnd.publishare-delta-tree</summary>\n            public const string VndPublishareDeltaTree = \"application/vnd.publishare-delta-tree\";\n            /// <summary>application/vnd.pvi.ptid1</summary>\n            public const string VndPviPtid1 = \"application/vnd.pvi.ptid1\";\n            /// <summary>application/vnd.pwg-multiplexed</summary>\n            public const string VndPwgMultiplexed = \"application/vnd.pwg-multiplexed\";\n            /// <summary>application/vnd.pwg-xhtml-print+xml</summary>\n            public const string VndPwgXhtmlPrintXml = \"application/vnd.pwg-xhtml-print+xml\";\n            /// <summary>application/vnd.qualcomm.brew-app-res</summary>\n            public const string VndQualcommBrewAppRes = \"application/vnd.qualcomm.brew-app-res\";\n            /// <summary>application/vnd.Quark.QuarkXPress</summary>\n            public const string VndQuarkQuarkxpress = \"application/vnd.Quark.QuarkXPress\";\n            /// <summary>application/vnd.quobject-quoxdocument</summary>\n            public const string VndQuobjectQuoxdocument = \"application/vnd.quobject-quoxdocument\";\n            /// <summary>application/vnd.radisys.moml+xml</summary>\n            public const string VndRadisysMomlXml = \"application/vnd.radisys.moml+xml\";\n            /// <summary>application/vnd.radisys.msml-audit-conf+xml</summary>\n            public const string VndRadisysMsmlAuditConfXml = \"application/vnd.radisys.msml-audit-conf+xml\";\n            /// <summary>application/vnd.radisys.msml-audit-conn+xml</summary>\n            public const string VndRadisysMsmlAuditConnXml = \"application/vnd.radisys.msml-audit-conn+xml\";\n            /// <summary>application/vnd.radisys.msml-audit-dialog+xml</summary>\n            public const string VndRadisysMsmlAuditDialogXml = \"application/vnd.radisys.msml-audit-dialog+xml\";\n            /// <summary>application/vnd.radisys.msml-audit-stream+xml</summary>\n            public const string VndRadisysMsmlAuditStreamXml = \"application/vnd.radisys.msml-audit-stream+xml\";\n            /// <summary>application/vnd.radisys.msml-audit+xml</summary>\n            public const string VndRadisysMsmlAuditXml = \"application/vnd.radisys.msml-audit+xml\";\n            /// <summary>application/vnd.radisys.msml-conf+xml</summary>\n            public const string VndRadisysMsmlConfXml = \"application/vnd.radisys.msml-conf+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-base+xml</summary>\n            public const string VndRadisysMsmlDialogBaseXml = \"application/vnd.radisys.msml-dialog-base+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-fax-detect+xml</summary>\n            public const string VndRadisysMsmlDialogFaxDetectXml = \"application/vnd.radisys.msml-dialog-fax-detect+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-fax-sendrecv+xml</summary>\n            public const string VndRadisysMsmlDialogFaxSendrecvXml = \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-group+xml</summary>\n            public const string VndRadisysMsmlDialogGroupXml = \"application/vnd.radisys.msml-dialog-group+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-speech+xml</summary>\n            public const string VndRadisysMsmlDialogSpeechXml = \"application/vnd.radisys.msml-dialog-speech+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog-transform+xml</summary>\n            public const string VndRadisysMsmlDialogTransformXml = \"application/vnd.radisys.msml-dialog-transform+xml\";\n            /// <summary>application/vnd.radisys.msml-dialog+xml</summary>\n            public const string VndRadisysMsmlDialogXml = \"application/vnd.radisys.msml-dialog+xml\";\n            /// <summary>application/vnd.radisys.msml+xml</summary>\n            public const string VndRadisysMsmlXml = \"application/vnd.radisys.msml+xml\";\n            /// <summary>application/vnd.rainstor.data</summary>\n            public const string VndRainstorData = \"application/vnd.rainstor.data\";\n            /// <summary>application/vnd.rapid</summary>\n            public const string VndRapid = \"application/vnd.rapid\";\n            /// <summary>application/vnd.realvnc.bed</summary>\n            public const string VndRealvncBed = \"application/vnd.realvnc.bed\";\n            /// <summary>application/vnd.recordare.musicxml</summary>\n            public const string VndRecordareMusicxml = \"application/vnd.recordare.musicxml\";\n            /// <summary>application/vnd.recordare.musicxml+xml</summary>\n            public const string VndRecordareMusicxmlXml = \"application/vnd.recordare.musicxml+xml\";\n            /// <summary>application/vnd.RenLearn.rlprint</summary>\n            public const string VndRenlearnRlprint = \"application/vnd.RenLearn.rlprint\";\n            /// <summary>application/vnd.rig.cryptonote</summary>\n            public const string VndRigCryptonote = \"application/vnd.rig.cryptonote\";\n            /// <summary>application/vnd.route66.link66+xml</summary>\n            public const string VndRoute66Link66Xml = \"application/vnd.route66.link66+xml\";\n            /// <summary>application/vnd.rs-274x</summary>\n            public const string VndRs274x = \"application/vnd.rs-274x\";\n            /// <summary>application/vnd.ruckus.download</summary>\n            public const string VndRuckusDownload = \"application/vnd.ruckus.download\";\n            /// <summary>application/vnd.s3sms</summary>\n            public const string VndS3sms = \"application/vnd.s3sms\";\n            /// <summary>application/vnd.sailingtracker.track</summary>\n            public const string VndSailingtrackerTrack = \"application/vnd.sailingtracker.track\";\n            /// <summary>application/vnd.sbm.cid</summary>\n            public const string VndSbmCid = \"application/vnd.sbm.cid\";\n            /// <summary>application/vnd.sbm.mid2</summary>\n            public const string VndSbmMid2 = \"application/vnd.sbm.mid2\";\n            /// <summary>application/vnd.scribus</summary>\n            public const string VndScribus = \"application/vnd.scribus\";\n            /// <summary>application/vnd.sealed.3df</summary>\n            public const string VndSealed3df = \"application/vnd.sealed.3df\";\n            /// <summary>application/vnd.sealed.csf</summary>\n            public const string VndSealedCsf = \"application/vnd.sealed.csf\";\n            /// <summary>application/vnd.sealed.doc</summary>\n            public const string VndSealedDoc = \"application/vnd.sealed.doc\";\n            /// <summary>application/vnd.sealed.eml</summary>\n            public const string VndSealedEml = \"application/vnd.sealed.eml\";\n            /// <summary>application/vnd.sealed.mht</summary>\n            public const string VndSealedMht = \"application/vnd.sealed.mht\";\n            /// <summary>application/vnd.sealed.net</summary>\n            public const string VndSealedNet = \"application/vnd.sealed.net\";\n            /// <summary>application/vnd.sealed.ppt</summary>\n            public const string VndSealedPpt = \"application/vnd.sealed.ppt\";\n            /// <summary>application/vnd.sealed.tiff</summary>\n            public const string VndSealedTiff = \"application/vnd.sealed.tiff\";\n            /// <summary>application/vnd.sealed.xls</summary>\n            public const string VndSealedXls = \"application/vnd.sealed.xls\";\n            /// <summary>application/vnd.sealedmedia.softseal.html</summary>\n            public const string VndSealedmediaSoftsealHtml = \"application/vnd.sealedmedia.softseal.html\";\n            /// <summary>application/vnd.sealedmedia.softseal.pdf</summary>\n            public const string VndSealedmediaSoftsealPdf = \"application/vnd.sealedmedia.softseal.pdf\";\n            /// <summary>application/vnd.seemail</summary>\n            public const string VndSeemail = \"application/vnd.seemail\";\n            /// <summary>application/vnd.sema</summary>\n            public const string VndSema = \"application/vnd.sema\";\n            /// <summary>application/vnd.semd</summary>\n            public const string VndSemd = \"application/vnd.semd\";\n            /// <summary>application/vnd.semf</summary>\n            public const string VndSemf = \"application/vnd.semf\";\n            /// <summary>application/vnd.shana.informed.formdata</summary>\n            public const string VndShanaInformedFormdata = \"application/vnd.shana.informed.formdata\";\n            /// <summary>application/vnd.shana.informed.formtemplate</summary>\n            public const string VndShanaInformedFormtemplate = \"application/vnd.shana.informed.formtemplate\";\n            /// <summary>application/vnd.shana.informed.interchange</summary>\n            public const string VndShanaInformedInterchange = \"application/vnd.shana.informed.interchange\";\n            /// <summary>application/vnd.shana.informed.package</summary>\n            public const string VndShanaInformedPackage = \"application/vnd.shana.informed.package\";\n            /// <summary>application/vnd.SimTech-MindMapper</summary>\n            public const string VndSimtechMindmapper = \"application/vnd.SimTech-MindMapper\";\n            /// <summary>application/vnd.siren+json</summary>\n            public const string VndSirenJson = \"application/vnd.siren+json\";\n            /// <summary>application/vnd.smaf</summary>\n            public const string VndSmaf = \"application/vnd.smaf\";\n            /// <summary>application/vnd.smart.notebook</summary>\n            public const string VndSmartNotebook = \"application/vnd.smart.notebook\";\n            /// <summary>application/vnd.smart.teacher</summary>\n            public const string VndSmartTeacher = \"application/vnd.smart.teacher\";\n            /// <summary>application/vnd.software602.filler.form+xml</summary>\n            public const string VndSoftware602FillerFormXml = \"application/vnd.software602.filler.form+xml\";\n            /// <summary>application/vnd.software602.filler.form-xml-zip</summary>\n            public const string VndSoftware602FillerFormXmlZip = \"application/vnd.software602.filler.form-xml-zip\";\n            /// <summary>application/vnd.solent.sdkm+xml</summary>\n            public const string VndSolentSdkmXml = \"application/vnd.solent.sdkm+xml\";\n            /// <summary>application/vnd.spotfire.dxp</summary>\n            public const string VndSpotfireDxp = \"application/vnd.spotfire.dxp\";\n            /// <summary>application/vnd.spotfire.sfs</summary>\n            public const string VndSpotfireSfs = \"application/vnd.spotfire.sfs\";\n            /// <summary>application/vnd.sss-cod</summary>\n            public const string VndSssCod = \"application/vnd.sss-cod\";\n            /// <summary>application/vnd.sss-dtf</summary>\n            public const string VndSssDtf = \"application/vnd.sss-dtf\";\n            /// <summary>application/vnd.sss-ntf</summary>\n            public const string VndSssNtf = \"application/vnd.sss-ntf\";\n            /// <summary>application/vnd.stepmania.package</summary>\n            public const string VndStepmaniaPackage = \"application/vnd.stepmania.package\";\n            /// <summary>application/vnd.stepmania.stepchart</summary>\n            public const string VndStepmaniaStepchart = \"application/vnd.stepmania.stepchart\";\n            /// <summary>application/vnd.street-stream</summary>\n            public const string VndStreetStream = \"application/vnd.street-stream\";\n            /// <summary>application/vnd.sun.wadl+xml</summary>\n            public const string VndSunWadlXml = \"application/vnd.sun.wadl+xml\";\n            /// <summary>application/vnd.sus-calendar</summary>\n            public const string VndSusCalendar = \"application/vnd.sus-calendar\";\n            /// <summary>application/vnd.svd</summary>\n            public const string VndSvd = \"application/vnd.svd\";\n            /// <summary>application/vnd.swiftview-ics</summary>\n            public const string VndSwiftviewIcs = \"application/vnd.swiftview-ics\";\n            /// <summary>application/vnd.syncml.dm.notification</summary>\n            public const string VndSyncmlDmNotification = \"application/vnd.syncml.dm.notification\";\n            /// <summary>application/vnd.syncml.dmddf+xml</summary>\n            public const string VndSyncmlDmddfXml = \"application/vnd.syncml.dmddf+xml\";\n            /// <summary>application/vnd.syncml.dmtnds+wbxml</summary>\n            public const string VndSyncmlDmtndsWbxml = \"application/vnd.syncml.dmtnds+wbxml\";\n            /// <summary>application/vnd.syncml.dmtnds+xml</summary>\n            public const string VndSyncmlDmtndsXml = \"application/vnd.syncml.dmtnds+xml\";\n            /// <summary>application/vnd.syncml.dmddf+wbxml</summary>\n            public const string VndSyncmlDmddfWbxml = \"application/vnd.syncml.dmddf+wbxml\";\n            /// <summary>application/vnd.syncml.dm+wbxml</summary>\n            public const string VndSyncmlDmWbxml = \"application/vnd.syncml.dm+wbxml\";\n            /// <summary>application/vnd.syncml.dm+xml</summary>\n            public const string VndSyncmlDmXml = \"application/vnd.syncml.dm+xml\";\n            /// <summary>application/vnd.syncml.ds.notification</summary>\n            public const string VndSyncmlDsNotification = \"application/vnd.syncml.ds.notification\";\n            /// <summary>application/vnd.syncml+xml</summary>\n            public const string VndSyncmlXml = \"application/vnd.syncml+xml\";\n            /// <summary>application/vnd.tao.intent-module-archive</summary>\n            public const string VndTaoIntentModuleArchive = \"application/vnd.tao.intent-module-archive\";\n            /// <summary>application/vnd.tcpdump.pcap</summary>\n            public const string VndTcpdumpPcap = \"application/vnd.tcpdump.pcap\";\n            /// <summary>application/vnd.tmobile-livetv</summary>\n            public const string VndTmobileLivetv = \"application/vnd.tmobile-livetv\";\n            /// <summary>application/vnd.trid.tpt</summary>\n            public const string VndTridTpt = \"application/vnd.trid.tpt\";\n            /// <summary>application/vnd.triscape.mxs</summary>\n            public const string VndTriscapeMxs = \"application/vnd.triscape.mxs\";\n            /// <summary>application/vnd.trueapp</summary>\n            public const string VndTrueapp = \"application/vnd.trueapp\";\n            /// <summary>application/vnd.truedoc</summary>\n            public const string VndTruedoc = \"application/vnd.truedoc\";\n            /// <summary>application/vnd.ubisoft.webplayer</summary>\n            public const string VndUbisoftWebplayer = \"application/vnd.ubisoft.webplayer\";\n            /// <summary>application/vnd.ufdl</summary>\n            public const string VndUfdl = \"application/vnd.ufdl\";\n            /// <summary>application/vnd.uiq.theme</summary>\n            public const string VndUiqTheme = \"application/vnd.uiq.theme\";\n            /// <summary>application/vnd.umajin</summary>\n            public const string VndUmajin = \"application/vnd.umajin\";\n            /// <summary>application/vnd.unity</summary>\n            public const string VndUnity = \"application/vnd.unity\";\n            /// <summary>application/vnd.uoml+xml</summary>\n            public const string VndUomlXml = \"application/vnd.uoml+xml\";\n            /// <summary>application/vnd.uplanet.alert</summary>\n            public const string VndUplanetAlert = \"application/vnd.uplanet.alert\";\n            /// <summary>application/vnd.uplanet.alert-wbxml</summary>\n            public const string VndUplanetAlertWbxml = \"application/vnd.uplanet.alert-wbxml\";\n            /// <summary>application/vnd.uplanet.bearer-choice</summary>\n            public const string VndUplanetBearerChoice = \"application/vnd.uplanet.bearer-choice\";\n            /// <summary>application/vnd.uplanet.bearer-choice-wbxml</summary>\n            public const string VndUplanetBearerChoiceWbxml = \"application/vnd.uplanet.bearer-choice-wbxml\";\n            /// <summary>application/vnd.uplanet.cacheop</summary>\n            public const string VndUplanetCacheop = \"application/vnd.uplanet.cacheop\";\n            /// <summary>application/vnd.uplanet.cacheop-wbxml</summary>\n            public const string VndUplanetCacheopWbxml = \"application/vnd.uplanet.cacheop-wbxml\";\n            /// <summary>application/vnd.uplanet.channel</summary>\n            public const string VndUplanetChannel = \"application/vnd.uplanet.channel\";\n            /// <summary>application/vnd.uplanet.channel-wbxml</summary>\n            public const string VndUplanetChannelWbxml = \"application/vnd.uplanet.channel-wbxml\";\n            /// <summary>application/vnd.uplanet.list</summary>\n            public const string VndUplanetList = \"application/vnd.uplanet.list\";\n            /// <summary>application/vnd.uplanet.listcmd</summary>\n            public const string VndUplanetListcmd = \"application/vnd.uplanet.listcmd\";\n            /// <summary>application/vnd.uplanet.listcmd-wbxml</summary>\n            public const string VndUplanetListcmdWbxml = \"application/vnd.uplanet.listcmd-wbxml\";\n            /// <summary>application/vnd.uplanet.list-wbxml</summary>\n            public const string VndUplanetListWbxml = \"application/vnd.uplanet.list-wbxml\";\n            /// <summary>application/vnd.uplanet.signal</summary>\n            public const string VndUplanetSignal = \"application/vnd.uplanet.signal\";\n            /// <summary>application/vnd.valve.source.material</summary>\n            public const string VndValveSourceMaterial = \"application/vnd.valve.source.material\";\n            /// <summary>application/vnd.vcx</summary>\n            public const string VndVcx = \"application/vnd.vcx\";\n            /// <summary>application/vnd.vd-study</summary>\n            public const string VndVdStudy = \"application/vnd.vd-study\";\n            /// <summary>application/vnd.vectorworks</summary>\n            public const string VndVectorworks = \"application/vnd.vectorworks\";\n            /// <summary>application/vnd.verimatrix.vcas</summary>\n            public const string VndVerimatrixVcas = \"application/vnd.verimatrix.vcas\";\n            /// <summary>application/vnd.vidsoft.vidconference</summary>\n            public const string VndVidsoftVidconference = \"application/vnd.vidsoft.vidconference\";\n            /// <summary>application/vnd.visio</summary>\n            public const string VndVisio = \"application/vnd.visio\";\n            /// <summary>application/vnd.visionary</summary>\n            public const string VndVisionary = \"application/vnd.visionary\";\n            /// <summary>application/vnd.vividence.scriptfile</summary>\n            public const string VndVividenceScriptfile = \"application/vnd.vividence.scriptfile\";\n            /// <summary>application/vnd.vsf</summary>\n            public const string VndVsf = \"application/vnd.vsf\";\n            /// <summary>application/vnd.wap.sic</summary>\n            public const string VndWapSic = \"application/vnd.wap.sic\";\n            /// <summary>application/vnd.wap.slc</summary>\n            public const string VndWapSlc = \"application/vnd.wap.slc\";\n            /// <summary>application/vnd.wap.wbxml</summary>\n            public const string VndWapWbxml = \"application/vnd.wap.wbxml\";\n            /// <summary>application/vnd.wap.wmlc</summary>\n            public const string VndWapWmlc = \"application/vnd.wap.wmlc\";\n            /// <summary>application/vnd.wap.wmlscriptc</summary>\n            public const string VndWapWmlscriptc = \"application/vnd.wap.wmlscriptc\";\n            /// <summary>application/vnd.webturbo</summary>\n            public const string VndWebturbo = \"application/vnd.webturbo\";\n            /// <summary>application/vnd.wfa.p2p</summary>\n            public const string VndWfaP2p = \"application/vnd.wfa.p2p\";\n            /// <summary>application/vnd.wfa.wsc</summary>\n            public const string VndWfaWsc = \"application/vnd.wfa.wsc\";\n            /// <summary>application/vnd.windows.devicepairing</summary>\n            public const string VndWindowsDevicepairing = \"application/vnd.windows.devicepairing\";\n            /// <summary>application/vnd.wmc</summary>\n            public const string VndWmc = \"application/vnd.wmc\";\n            /// <summary>application/vnd.wmf.bootstrap</summary>\n            public const string VndWmfBootstrap = \"application/vnd.wmf.bootstrap\";\n            /// <summary>application/vnd.wolfram.mathematica</summary>\n            public const string VndWolframMathematica = \"application/vnd.wolfram.mathematica\";\n            /// <summary>application/vnd.wolfram.mathematica.package</summary>\n            public const string VndWolframMathematicaPackage = \"application/vnd.wolfram.mathematica.package\";\n            /// <summary>application/vnd.wolfram.player</summary>\n            public const string VndWolframPlayer = \"application/vnd.wolfram.player\";\n            /// <summary>application/vnd.wordperfect</summary>\n            public const string VndWordperfect = \"application/vnd.wordperfect\";\n            /// <summary>application/vnd.wqd</summary>\n            public const string VndWqd = \"application/vnd.wqd\";\n            /// <summary>application/vnd.wrq-hp3000-labelled</summary>\n            public const string VndWrqHp3000Labelled = \"application/vnd.wrq-hp3000-labelled\";\n            /// <summary>application/vnd.wt.stf</summary>\n            public const string VndWtStf = \"application/vnd.wt.stf\";\n            /// <summary>application/vnd.wv.csp+xml</summary>\n            public const string VndWvCspXml = \"application/vnd.wv.csp+xml\";\n            /// <summary>application/vnd.wv.csp+wbxml</summary>\n            public const string VndWvCspWbxml = \"application/vnd.wv.csp+wbxml\";\n            /// <summary>application/vnd.wv.ssp+xml</summary>\n            public const string VndWvSspXml = \"application/vnd.wv.ssp+xml\";\n            /// <summary>application/vnd.xacml+json</summary>\n            public const string VndXacmlJson = \"application/vnd.xacml+json\";\n            /// <summary>application/vnd.xara</summary>\n            public const string VndXara = \"application/vnd.xara\";\n            /// <summary>application/vnd.xfdl</summary>\n            public const string VndXfdl = \"application/vnd.xfdl\";\n            /// <summary>application/vnd.xfdl.webform</summary>\n            public const string VndXfdlWebform = \"application/vnd.xfdl.webform\";\n            /// <summary>application/vnd.xmi+xml</summary>\n            public const string VndXmiXml = \"application/vnd.xmi+xml\";\n            /// <summary>application/vnd.xmpie.cpkg</summary>\n            public const string VndXmpieCpkg = \"application/vnd.xmpie.cpkg\";\n            /// <summary>application/vnd.xmpie.dpkg</summary>\n            public const string VndXmpieDpkg = \"application/vnd.xmpie.dpkg\";\n            /// <summary>application/vnd.xmpie.plan</summary>\n            public const string VndXmpiePlan = \"application/vnd.xmpie.plan\";\n            /// <summary>application/vnd.xmpie.ppkg</summary>\n            public const string VndXmpiePpkg = \"application/vnd.xmpie.ppkg\";\n            /// <summary>application/vnd.xmpie.xlim</summary>\n            public const string VndXmpieXlim = \"application/vnd.xmpie.xlim\";\n            /// <summary>application/vnd.yamaha.hv-dic</summary>\n            public const string VndYamahaHvDic = \"application/vnd.yamaha.hv-dic\";\n            /// <summary>application/vnd.yamaha.hv-script</summary>\n            public const string VndYamahaHvScript = \"application/vnd.yamaha.hv-script\";\n            /// <summary>application/vnd.yamaha.hv-voice</summary>\n            public const string VndYamahaHvVoice = \"application/vnd.yamaha.hv-voice\";\n            /// <summary>application/vnd.yamaha.openscoreformat.osfpvg+xml</summary>\n            public const string VndYamahaOpenscoreformatOsfpvgXml = \"application/vnd.yamaha.openscoreformat.osfpvg+xml\";\n            /// <summary>application/vnd.yamaha.openscoreformat</summary>\n            public const string VndYamahaOpenscoreformat = \"application/vnd.yamaha.openscoreformat\";\n            /// <summary>application/vnd.yamaha.remote-setup</summary>\n            public const string VndYamahaRemoteSetup = \"application/vnd.yamaha.remote-setup\";\n            /// <summary>application/vnd.yamaha.smaf-audio</summary>\n            public const string VndYamahaSmafAudio = \"application/vnd.yamaha.smaf-audio\";\n            /// <summary>application/vnd.yamaha.smaf-phrase</summary>\n            public const string VndYamahaSmafPhrase = \"application/vnd.yamaha.smaf-phrase\";\n            /// <summary>application/vnd.yamaha.through-ngn</summary>\n            public const string VndYamahaThroughNgn = \"application/vnd.yamaha.through-ngn\";\n            /// <summary>application/vnd.yamaha.tunnel-udpencap</summary>\n            public const string VndYamahaTunnelUdpencap = \"application/vnd.yamaha.tunnel-udpencap\";\n            /// <summary>application/vnd.yaoweme</summary>\n            public const string VndYaoweme = \"application/vnd.yaoweme\";\n            /// <summary>application/vnd.yellowriver-custom-menu</summary>\n            public const string VndYellowriverCustomMenu = \"application/vnd.yellowriver-custom-menu\";\n            /// <summary>application/vnd.zul</summary>\n            public const string VndZul = \"application/vnd.zul\";\n            /// <summary>application/vnd.zzazz.deck+xml</summary>\n            public const string VndZzazzDeckXml = \"application/vnd.zzazz.deck+xml\";\n            /// <summary>application/voicexml+xml</summary>\n            public const string VoicexmlXml = \"application/voicexml+xml\";\n            /// <summary>application/vq-rtcpxr</summary>\n            public const string VqRtcpxr = \"application/vq-rtcpxr\";\n            /// <summary>application/watcherinfo+xml</summary>\n            public const string WatcherinfoXml = \"application/watcherinfo+xml\";\n            /// <summary>application/whoispp-query</summary>\n            public const string WhoisppQuery = \"application/whoispp-query\";\n            /// <summary>application/whoispp-response</summary>\n            public const string WhoisppResponse = \"application/whoispp-response\";\n            /// <summary>application/widget</summary>\n            public const string Widget = \"application/widget\";\n            /// <summary>application/wita</summary>\n            public const string Wita = \"application/wita\";\n            /// <summary>application/wordperfect5.1</summary>\n            public const string Wordperfect51 = \"application/wordperfect5.1\";\n            /// <summary>application/wsdl+xml</summary>\n            public const string WsdlXml = \"application/wsdl+xml\";\n            /// <summary>application/wspolicy+xml</summary>\n            public const string WspolicyXml = \"application/wspolicy+xml\";\n            /// <summary>application/x-www-form-urlencoded</summary>\n            public const string XWwwFormUrlencoded = \"application/x-www-form-urlencoded\";\n            /// <summary>application/x400-bp</summary>\n            public const string X400Bp = \"application/x400-bp\";\n            /// <summary>application/xacml+xml</summary>\n            public const string XacmlXml = \"application/xacml+xml\";\n            /// <summary>application/xcap-att+xml</summary>\n            public const string XcapAttXml = \"application/xcap-att+xml\";\n            /// <summary>application/xcap-caps+xml</summary>\n            public const string XcapCapsXml = \"application/xcap-caps+xml\";\n            /// <summary>application/xcap-diff+xml</summary>\n            public const string XcapDiffXml = \"application/xcap-diff+xml\";\n            /// <summary>application/xcap-el+xml</summary>\n            public const string XcapElXml = \"application/xcap-el+xml\";\n            /// <summary>application/xcap-error+xml</summary>\n            public const string XcapErrorXml = \"application/xcap-error+xml\";\n            /// <summary>application/xcap-ns+xml</summary>\n            public const string XcapNsXml = \"application/xcap-ns+xml\";\n            /// <summary>application/xcon-conference-info-diff+xml</summary>\n            public const string XconConferenceInfoDiffXml = \"application/xcon-conference-info-diff+xml\";\n            /// <summary>application/xcon-conference-info+xml</summary>\n            public const string XconConferenceInfoXml = \"application/xcon-conference-info+xml\";\n            /// <summary>application/xenc+xml</summary>\n            public const string XencXml = \"application/xenc+xml\";\n            /// <summary>application/xhtml-voice+xml</summary>\n            [Obsolete(\"OBSOLETE; no replacement given\")]\n            public const string XhtmlVoiceXml = \"application/xhtml-voice+xml\";\n            /// <summary>application/xhtml+xml</summary>\n            public const string XhtmlXml = \"application/xhtml+xml\";\n            /// <summary>application/xml</summary>\n            public const string Xml = \"application/xml\";\n            /// <summary>application/xml-dtd</summary>\n            public const string XmlDtd = \"application/xml-dtd\";\n            /// <summary>application/xml-external-parsed-entity</summary>\n            public const string XmlExternalParsedEntity = \"application/xml-external-parsed-entity\";\n            /// <summary>application/xml-patch+xml</summary>\n            public const string XmlPatchXml = \"application/xml-patch+xml\";\n            /// <summary>application/xmpp+xml</summary>\n            public const string XmppXml = \"application/xmpp+xml\";\n            /// <summary>application/xop+xml</summary>\n            public const string XopXml = \"application/xop+xml\";\n            /// <summary>application/xslt+xml</summary>\n            public const string XsltXml = \"application/xslt+xml\";\n            /// <summary>application/xv+xml</summary>\n            public const string XvXml = \"application/xv+xml\";\n            /// <summary>application/yang</summary>\n            public const string Yang = \"application/yang\";\n            /// <summary>application/yin+xml</summary>\n            public const string YinXml = \"application/yin+xml\";\n            /// <summary>application/zip</summary>\n            public const string Zip = \"application/zip\";\n            /// <summary>application/zlib</summary>\n            public const string Zlib = \"application/zlib\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the audio type.\n        /// </summary>\n        public class Audio\n        {\n            /// <summary>audio/1d-interleaved-parityfec</summary>\n            public const string _1dInterleavedParityfec = \"audio/1d-interleaved-parityfec\";\n            /// <summary>audio/32kadpcm</summary>\n            public const string _32kadpcm = \"audio/32kadpcm\";\n            /// <summary>audio/3gpp</summary>\n            public const string _3gpp = \"audio/3gpp\";\n            /// <summary>audio/3gpp2</summary>\n            public const string _3gpp2 = \"audio/3gpp2\";\n            /// <summary>audio/ac3</summary>\n            public const string Ac3 = \"audio/ac3\";\n            /// <summary>audio/AMR</summary>\n            public const string Amr = \"audio/AMR\";\n            /// <summary>audio/AMR-WB</summary>\n            public const string AmrWb1 = \"audio/AMR-WB\";\n            /// <summary>audio/amr-wb+</summary>\n            public const string AmrWb2 = \"audio/amr-wb+\";\n            /// <summary>audio/aptx</summary>\n            public const string Aptx = \"audio/aptx\";\n            /// <summary>audio/asc</summary>\n            public const string Asc = \"audio/asc\";\n            /// <summary>audio/ATRAC-ADVANCED-LOSSLESS</summary>\n            public const string AtracAdvancedLossless = \"audio/ATRAC-ADVANCED-LOSSLESS\";\n            /// <summary>audio/ATRAC-X</summary>\n            public const string AtracX = \"audio/ATRAC-X\";\n            /// <summary>audio/ATRAC3</summary>\n            public const string Atrac3 = \"audio/ATRAC3\";\n            /// <summary>audio/basic</summary>\n            public const string Basic = \"audio/basic\";\n            /// <summary>audio/BV16</summary>\n            public const string Bv16 = \"audio/BV16\";\n            /// <summary>audio/BV32</summary>\n            public const string Bv32 = \"audio/BV32\";\n            /// <summary>audio/clearmode</summary>\n            public const string Clearmode = \"audio/clearmode\";\n            /// <summary>audio/CN</summary>\n            public const string Cn = \"audio/CN\";\n            /// <summary>audio/DAT12</summary>\n            public const string Dat12 = \"audio/DAT12\";\n            /// <summary>audio/dls</summary>\n            public const string Dls = \"audio/dls\";\n            /// <summary>audio/dsr-es201108</summary>\n            public const string DsrEs201108 = \"audio/dsr-es201108\";\n            /// <summary>audio/dsr-es202050</summary>\n            public const string DsrEs202050 = \"audio/dsr-es202050\";\n            /// <summary>audio/dsr-es202211</summary>\n            public const string DsrEs202211 = \"audio/dsr-es202211\";\n            /// <summary>audio/dsr-es202212</summary>\n            public const string DsrEs202212 = \"audio/dsr-es202212\";\n            /// <summary>audio/DV</summary>\n            public const string Dv = \"audio/DV\";\n            /// <summary>audio/DVI4</summary>\n            public const string Dvi4 = \"audio/DVI4\";\n            /// <summary>audio/eac3</summary>\n            public const string Eac3 = \"audio/eac3\";\n            /// <summary>audio/encaprtp</summary>\n            public const string Encaprtp = \"audio/encaprtp\";\n            /// <summary>audio/EVRC</summary>\n            public const string Evrc = \"audio/EVRC\";\n            /// <summary>audio/EVRC-QCP</summary>\n            public const string EvrcQcp = \"audio/EVRC-QCP\";\n            /// <summary>audio/EVRC0</summary>\n            public const string Evrc0 = \"audio/EVRC0\";\n            /// <summary>audio/EVRC1</summary>\n            public const string Evrc1 = \"audio/EVRC1\";\n            /// <summary>audio/EVRCB</summary>\n            public const string Evrcb = \"audio/EVRCB\";\n            /// <summary>audio/EVRCB0</summary>\n            public const string Evrcb0 = \"audio/EVRCB0\";\n            /// <summary>audio/EVRCB1</summary>\n            public const string Evrcb1 = \"audio/EVRCB1\";\n            /// <summary>audio/EVRCNW</summary>\n            public const string Evrcnw = \"audio/EVRCNW\";\n            /// <summary>audio/EVRCNW0</summary>\n            public const string Evrcnw0 = \"audio/EVRCNW0\";\n            /// <summary>audio/EVRCNW1</summary>\n            public const string Evrcnw1 = \"audio/EVRCNW1\";\n            /// <summary>audio/EVRCWB</summary>\n            public const string Evrcwb = \"audio/EVRCWB\";\n            /// <summary>audio/EVRCWB0</summary>\n            public const string Evrcwb0 = \"audio/EVRCWB0\";\n            /// <summary>audio/EVRCWB1</summary>\n            public const string Evrcwb1 = \"audio/EVRCWB1\";\n            /// <summary>audio/example</summary>\n            public const string Example = \"audio/example\";\n            /// <summary>audio/fwdred</summary>\n            public const string Fwdred = \"audio/fwdred\";\n            /// <summary>audio/G719</summary>\n            public const string G719 = \"audio/G719\";\n            /// <summary>audio/G7221</summary>\n            public const string G7221 = \"audio/G7221\";\n            /// <summary>audio/G722</summary>\n            public const string G722 = \"audio/G722\";\n            /// <summary>audio/G723</summary>\n            public const string G723 = \"audio/G723\";\n            /// <summary>audio/G726-16</summary>\n            public const string G72616 = \"audio/G726-16\";\n            /// <summary>audio/G726-24</summary>\n            public const string G72624 = \"audio/G726-24\";\n            /// <summary>audio/G726-32</summary>\n            public const string G72632 = \"audio/G726-32\";\n            /// <summary>audio/G726-40</summary>\n            public const string G72640 = \"audio/G726-40\";\n            /// <summary>audio/G728</summary>\n            public const string G728 = \"audio/G728\";\n            /// <summary>audio/G729</summary>\n            public const string G729 = \"audio/G729\";\n            /// <summary>audio/G7291</summary>\n            public const string G7291 = \"audio/G7291\";\n            /// <summary>audio/G729D</summary>\n            public const string G729d = \"audio/G729D\";\n            /// <summary>audio/G729E</summary>\n            public const string G729e = \"audio/G729E\";\n            /// <summary>audio/GSM</summary>\n            public const string Gsm = \"audio/GSM\";\n            /// <summary>audio/GSM-EFR</summary>\n            public const string GsmEfr = \"audio/GSM-EFR\";\n            /// <summary>audio/GSM-HR-08</summary>\n            public const string GsmHr08 = \"audio/GSM-HR-08\";\n            /// <summary>audio/iLBC</summary>\n            public const string Ilbc = \"audio/iLBC\";\n            /// <summary>audio/ip-mr_v2.5</summary>\n            public const string IpMrV25 = \"audio/ip-mr_v2.5\";\n            /// <summary>audio/L8</summary>\n            public const string L8 = \"audio/L8\";\n            /// <summary>audio/L16</summary>\n            public const string L16 = \"audio/L16\";\n            /// <summary>audio/L20</summary>\n            public const string L20 = \"audio/L20\";\n            /// <summary>audio/L24</summary>\n            public const string L24 = \"audio/L24\";\n            /// <summary>audio/LPC</summary>\n            public const string Lpc = \"audio/LPC\";\n            /// <summary>audio/mobile-xmf</summary>\n            public const string MobileXmf = \"audio/mobile-xmf\";\n            /// <summary>audio/MPA</summary>\n            public const string Mpa = \"audio/MPA\";\n            /// <summary>audio/mp4</summary>\n            public const string Mp4 = \"audio/mp4\";\n            /// <summary>audio/MP4A-LATM</summary>\n            public const string Mp4aLatm = \"audio/MP4A-LATM\";\n            /// <summary>audio/mpa-robust</summary>\n            public const string MpaRobust = \"audio/mpa-robust\";\n            /// <summary>audio/mpeg</summary>\n            public const string Mpeg = \"audio/mpeg\";\n            /// <summary>audio/mpeg4-generic</summary>\n            public const string Mpeg4Generic = \"audio/mpeg4-generic\";\n            /// <summary>audio/ogg</summary>\n            public const string Ogg = \"audio/ogg\";\n            /// <summary>audio/parityfec</summary>\n            public const string Parityfec = \"audio/parityfec\";\n            /// <summary>audio/PCMA</summary>\n            public const string Pcma = \"audio/PCMA\";\n            /// <summary>audio/PCMA-WB</summary>\n            public const string PcmaWb = \"audio/PCMA-WB\";\n            /// <summary>audio/PCMU</summary>\n            public const string Pcmu = \"audio/PCMU\";\n            /// <summary>audio/PCMU-WB</summary>\n            public const string PcmuWb = \"audio/PCMU-WB\";\n            /// <summary>audio/prs.sid</summary>\n            public const string PrsSid = \"audio/prs.sid\";\n            /// <summary>audio/QCELP</summary>\n            public const string Qcelp = \"audio/QCELP\";\n            /// <summary>audio/raptorfec</summary>\n            public const string Raptorfec = \"audio/raptorfec\";\n            /// <summary>audio/RED</summary>\n            public const string Red = \"audio/RED\";\n            /// <summary>audio/rtp-enc-aescm128</summary>\n            public const string RtpEncAescm128 = \"audio/rtp-enc-aescm128\";\n            /// <summary>audio/rtploopback</summary>\n            public const string Rtploopback = \"audio/rtploopback\";\n            /// <summary>audio/rtp-midi</summary>\n            public const string RtpMidi = \"audio/rtp-midi\";\n            /// <summary>audio/rtx</summary>\n            public const string Rtx = \"audio/rtx\";\n            /// <summary>audio/SMV</summary>\n            public const string Smv = \"audio/SMV\";\n            /// <summary>audio/SMV0</summary>\n            public const string Smv0 = \"audio/SMV0\";\n            /// <summary>audio/SMV-QCP</summary>\n            public const string SmvQcp = \"audio/SMV-QCP\";\n            /// <summary>audio/sp-midi</summary>\n            public const string SpMidi = \"audio/sp-midi\";\n            /// <summary>audio/speex</summary>\n            public const string Speex = \"audio/speex\";\n            /// <summary>audio/t140c</summary>\n            public const string T140c = \"audio/t140c\";\n            /// <summary>audio/t38</summary>\n            public const string T38 = \"audio/t38\";\n            /// <summary>audio/telephone-event</summary>\n            public const string TelephoneEvent = \"audio/telephone-event\";\n            /// <summary>audio/tone</summary>\n            public const string Tone = \"audio/tone\";\n            /// <summary>audio/UEMCLIP</summary>\n            public const string Uemclip = \"audio/UEMCLIP\";\n            /// <summary>audio/ulpfec</summary>\n            public const string Ulpfec = \"audio/ulpfec\";\n            /// <summary>audio/VDVI</summary>\n            public const string Vdvi = \"audio/VDVI\";\n            /// <summary>audio/VMR-WB</summary>\n            public const string VmrWb = \"audio/VMR-WB\";\n            /// <summary>audio/vnd.3gpp.iufp</summary>\n            public const string Vnd3gppIufp = \"audio/vnd.3gpp.iufp\";\n            /// <summary>audio/vnd.4SB</summary>\n            public const string Vnd4sb = \"audio/vnd.4SB\";\n            /// <summary>audio/vnd.audiokoz</summary>\n            public const string VndAudiokoz = \"audio/vnd.audiokoz\";\n            /// <summary>audio/vnd.CELP</summary>\n            public const string VndCelp = \"audio/vnd.CELP\";\n            /// <summary>audio/vnd.cisco.nse</summary>\n            public const string VndCiscoNse = \"audio/vnd.cisco.nse\";\n            /// <summary>audio/vnd.cmles.radio-events</summary>\n            public const string VndCmlesRadioEvents = \"audio/vnd.cmles.radio-events\";\n            /// <summary>audio/vnd.cns.anp1</summary>\n            public const string VndCnsAnp1 = \"audio/vnd.cns.anp1\";\n            /// <summary>audio/vnd.cns.inf1</summary>\n            public const string VndCnsInf1 = \"audio/vnd.cns.inf1\";\n            /// <summary>audio/vnd.dece.audio</summary>\n            public const string VndDeceAudio = \"audio/vnd.dece.audio\";\n            /// <summary>audio/vnd.digital-winds</summary>\n            public const string VndDigitalWinds = \"audio/vnd.digital-winds\";\n            /// <summary>audio/vnd.dlna.adts</summary>\n            public const string VndDlnaAdts = \"audio/vnd.dlna.adts\";\n            /// <summary>audio/vnd.dolby.heaac.1</summary>\n            public const string VndDolbyHeaac1 = \"audio/vnd.dolby.heaac.1\";\n            /// <summary>audio/vnd.dolby.heaac.2</summary>\n            public const string VndDolbyHeaac2 = \"audio/vnd.dolby.heaac.2\";\n            /// <summary>audio/vnd.dolby.mlp</summary>\n            public const string VndDolbyMlp = \"audio/vnd.dolby.mlp\";\n            /// <summary>audio/vnd.dolby.mps</summary>\n            public const string VndDolbyMps = \"audio/vnd.dolby.mps\";\n            /// <summary>audio/vnd.dolby.pl2</summary>\n            public const string VndDolbyPl2 = \"audio/vnd.dolby.pl2\";\n            /// <summary>audio/vnd.dolby.pl2x</summary>\n            public const string VndDolbyPl2x = \"audio/vnd.dolby.pl2x\";\n            /// <summary>audio/vnd.dolby.pl2z</summary>\n            public const string VndDolbyPl2z = \"audio/vnd.dolby.pl2z\";\n            /// <summary>audio/vnd.dolby.pulse.1</summary>\n            public const string VndDolbyPulse1 = \"audio/vnd.dolby.pulse.1\";\n            /// <summary>audio/vnd.dra</summary>\n            public const string VndDra = \"audio/vnd.dra\";\n            /// <summary>audio/vnd.dts</summary>\n            public const string VndDts = \"audio/vnd.dts\";\n            /// <summary>audio/vnd.dts.hd</summary>\n            public const string VndDtsHd = \"audio/vnd.dts.hd\";\n            /// <summary>audio/vnd.dvb.file</summary>\n            public const string VndDvbFile = \"audio/vnd.dvb.file\";\n            /// <summary>audio/vnd.everad.plj</summary>\n            public const string VndEveradPlj = \"audio/vnd.everad.plj\";\n            /// <summary>audio/vnd.hns.audio</summary>\n            public const string VndHnsAudio = \"audio/vnd.hns.audio\";\n            /// <summary>audio/vnd.lucent.voice</summary>\n            public const string VndLucentVoice = \"audio/vnd.lucent.voice\";\n            /// <summary>audio/vnd.ms-playready.media.pya</summary>\n            public const string VndMsPlayreadyMediaPya = \"audio/vnd.ms-playready.media.pya\";\n            /// <summary>audio/vnd.nokia.mobile-xmf</summary>\n            public const string VndNokiaMobileXmf = \"audio/vnd.nokia.mobile-xmf\";\n            /// <summary>audio/vnd.nortel.vbk</summary>\n            public const string VndNortelVbk = \"audio/vnd.nortel.vbk\";\n            /// <summary>audio/vnd.nuera.ecelp4800</summary>\n            public const string VndNueraEcelp4800 = \"audio/vnd.nuera.ecelp4800\";\n            /// <summary>audio/vnd.nuera.ecelp7470</summary>\n            public const string VndNueraEcelp7470 = \"audio/vnd.nuera.ecelp7470\";\n            /// <summary>audio/vnd.nuera.ecelp9600</summary>\n            public const string VndNueraEcelp9600 = \"audio/vnd.nuera.ecelp9600\";\n            /// <summary>audio/vnd.octel.sbc</summary>\n            public const string VndOctelSbc = \"audio/vnd.octel.sbc\";\n            /// <summary>audio/vnd.qcelp</summary>\n            [Obsolete(\"DEPRECATED in favor of audio/qcelp\")]\n            public const string VndQcelp = \"audio/vnd.qcelp\";\n            /// <summary>audio/vnd.rhetorex.32kadpcm</summary>\n            public const string VndRhetorex32kadpcm = \"audio/vnd.rhetorex.32kadpcm\";\n            /// <summary>audio/vnd.rip</summary>\n            public const string VndRip = \"audio/vnd.rip\";\n            /// <summary>audio/vnd.sealedmedia.softseal.mpeg</summary>\n            public const string VndSealedmediaSoftsealMpeg = \"audio/vnd.sealedmedia.softseal.mpeg\";\n            /// <summary>audio/vnd.vmx.cvsd</summary>\n            public const string VndVmxCvsd = \"audio/vnd.vmx.cvsd\";\n            /// <summary>audio/vorbis</summary>\n            public const string Vorbis = \"audio/vorbis\";\n            /// <summary>audio/vorbis-config</summary>\n            public const string VorbisConfig = \"audio/vorbis-config\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the image type.\n        /// </summary>\n        public class Image\n        {\n            /// <summary>image/cgm</summary>\n            public const string Cgm = \"image/cgm\";\n            /// <summary>image/example</summary>\n            public const string Example = \"image/example\";\n            /// <summary>image/fits</summary>\n            public const string Fits = \"image/fits\";\n            /// <summary>image/g3fax</summary>\n            public const string G3fax = \"image/g3fax\";\n            /// <summary>image/gif</summary>\n            public const string Gif = \"image/gif\";\n            /// <summary>image/ief</summary>\n            public const string Ief = \"image/ief\";\n            /// <summary>image/jp2</summary>\n            public const string Jp2 = \"image/jp2\";\n            /// <summary>image/jpeg</summary>\n            public const string Jpeg = \"image/jpeg\";\n            /// <summary>image/jpm</summary>\n            public const string Jpm = \"image/jpm\";\n            /// <summary>image/jpx</summary>\n            public const string Jpx = \"image/jpx\";\n            /// <summary>image/ktx</summary>\n            public const string Ktx = \"image/ktx\";\n            /// <summary>image/naplps</summary>\n            public const string Naplps = \"image/naplps\";\n            /// <summary>image/png</summary>\n            public const string Png = \"image/png\";\n            /// <summary>image/prs.btif</summary>\n            public const string PrsBtif = \"image/prs.btif\";\n            /// <summary>image/prs.pti</summary>\n            public const string PrsPti = \"image/prs.pti\";\n            /// <summary>image/pwg-raster</summary>\n            public const string PwgRaster = \"image/pwg-raster\";\n            /// <summary>image/svg+xml</summary>\n            public const string SvgXml = \"image/svg+xml\";\n            /// <summary>image/t38</summary>\n            public const string T38 = \"image/t38\";\n            /// <summary>image/tiff</summary>\n            public const string Tiff = \"image/tiff\";\n            /// <summary>image/tiff-fx</summary>\n            public const string TiffFx = \"image/tiff-fx\";\n            /// <summary>image/vnd.adobe.photoshop</summary>\n            public const string VndAdobePhotoshop = \"image/vnd.adobe.photoshop\";\n            /// <summary>image/vnd.airzip.accelerator.azv</summary>\n            public const string VndAirzipAcceleratorAzv = \"image/vnd.airzip.accelerator.azv\";\n            /// <summary>image/vnd.cns.inf2</summary>\n            public const string VndCnsInf2 = \"image/vnd.cns.inf2\";\n            /// <summary>image/vnd.dece.graphic</summary>\n            public const string VndDeceGraphic = \"image/vnd.dece.graphic\";\n            /// <summary>image/vnd.djvu</summary>\n            public const string VndDjvu = \"image/vnd.djvu\";\n            /// <summary>image/vnd.dwg</summary>\n            public const string VndDwg = \"image/vnd.dwg\";\n            /// <summary>image/vnd.dxf</summary>\n            public const string VndDxf = \"image/vnd.dxf\";\n            /// <summary>image/vnd.dvb.subtitle</summary>\n            public const string VndDvbSubtitle = \"image/vnd.dvb.subtitle\";\n            /// <summary>image/vnd.fastbidsheet</summary>\n            public const string VndFastbidsheet = \"image/vnd.fastbidsheet\";\n            /// <summary>image/vnd.fpx</summary>\n            public const string VndFpx = \"image/vnd.fpx\";\n            /// <summary>image/vnd.fst</summary>\n            public const string VndFst = \"image/vnd.fst\";\n            /// <summary>image/vnd.fujixerox.edmics-mmr</summary>\n            public const string VndFujixeroxEdmicsMmr = \"image/vnd.fujixerox.edmics-mmr\";\n            /// <summary>image/vnd.fujixerox.edmics-rlc</summary>\n            public const string VndFujixeroxEdmicsRlc = \"image/vnd.fujixerox.edmics-rlc\";\n            /// <summary>image/vnd.globalgraphics.pgb</summary>\n            public const string VndGlobalgraphicsPgb = \"image/vnd.globalgraphics.pgb\";\n            /// <summary>image/vnd.microsoft.icon</summary>\n            public const string VndMicrosoftIcon = \"image/vnd.microsoft.icon\";\n            /// <summary>image/vnd.mix</summary>\n            public const string VndMix = \"image/vnd.mix\";\n            /// <summary>image/vnd.ms-modi</summary>\n            public const string VndMsModi = \"image/vnd.ms-modi\";\n            /// <summary>image/vnd.net-fpx</summary>\n            public const string VndNetFpx = \"image/vnd.net-fpx\";\n            /// <summary>image/vnd.radiance</summary>\n            public const string VndRadiance = \"image/vnd.radiance\";\n            /// <summary>image/vnd.sealed.png</summary>\n            public const string VndSealedPng = \"image/vnd.sealed.png\";\n            /// <summary>image/vnd.sealedmedia.softseal.gif</summary>\n            public const string VndSealedmediaSoftsealGif = \"image/vnd.sealedmedia.softseal.gif\";\n            /// <summary>image/vnd.sealedmedia.softseal.jpg</summary>\n            public const string VndSealedmediaSoftsealJpg = \"image/vnd.sealedmedia.softseal.jpg\";\n            /// <summary>image/vnd.svf</summary>\n            public const string VndSvf = \"image/vnd.svf\";\n            /// <summary>image/vnd.valve.source.texture</summary>\n            public const string VndValveSourceTexture = \"image/vnd.valve.source.texture\";\n            /// <summary>image/vnd.wap.wbmp</summary>\n            public const string VndWapWbmp = \"image/vnd.wap.wbmp\";\n            /// <summary>image/vnd.xiff</summary>\n            public const string VndXiff = \"image/vnd.xiff\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the message type.\n        /// </summary>\n        public class Message\n        {\n            /// <summary>message/CPIM</summary>\n            public const string Cpim = \"message/CPIM\";\n            /// <summary>message/delivery-status</summary>\n            public const string DeliveryStatus = \"message/delivery-status\";\n            /// <summary>message/disposition-notification</summary>\n            public const string DispositionNotification = \"message/disposition-notification\";\n            /// <summary>message/example</summary>\n            public const string Example = \"message/example\";\n            /// <summary>message/external-body</summary>\n            public const string ExternalBody = \"message/external-body\";\n            /// <summary>message/feedback-report</summary>\n            public const string FeedbackReport = \"message/feedback-report\";\n            /// <summary>message/global</summary>\n            public const string Global = \"message/global\";\n            /// <summary>message/global-delivery-status</summary>\n            public const string GlobalDeliveryStatus = \"message/global-delivery-status\";\n            /// <summary>message/global-disposition-notification</summary>\n            public const string GlobalDispositionNotification = \"message/global-disposition-notification\";\n            /// <summary>message/global-headers</summary>\n            public const string GlobalHeaders = \"message/global-headers\";\n            /// <summary>message/http</summary>\n            public const string Http = \"message/http\";\n            /// <summary>message/imdn+xml</summary>\n            public const string ImdnXml = \"message/imdn+xml\";\n            /// <summary>message/news</summary>\n            [Obsolete(\"OBSOLETED by RFC5537\")]\n            public const string News = \"message/news\";\n            /// <summary>message/partial</summary>\n            public const string Partial = \"message/partial\";\n            /// <summary>message/rfc822</summary>\n            public const string Rfc822 = \"message/rfc822\";\n            /// <summary>message/s-http</summary>\n            public const string SHttp = \"message/s-http\";\n            /// <summary>message/sip</summary>\n            public const string Sip = \"message/sip\";\n            /// <summary>message/sipfrag</summary>\n            public const string Sipfrag = \"message/sipfrag\";\n            /// <summary>message/tracking-status</summary>\n            public const string TrackingStatus = \"message/tracking-status\";\n            /// <summary>message/vnd.si.simp</summary>\n            [Obsolete(\"OBSOLETED by request\")]\n            public const string VndSiSimp = \"message/vnd.si.simp\";\n            /// <summary>message/vnd.wfa.wsc</summary>\n            public const string VndWfaWsc = \"message/vnd.wfa.wsc\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the model type.\n        /// </summary>\n        public class Model\n        {\n            /// <summary>model/example</summary>\n            public const string Example = \"model/example\";\n            /// <summary>model/iges</summary>\n            public const string Iges = \"model/iges\";\n            /// <summary>model/mesh</summary>\n            public const string Mesh = \"model/mesh\";\n            /// <summary>model/vnd.collada+xml</summary>\n            public const string VndColladaXml = \"model/vnd.collada+xml\";\n            /// <summary>model/vnd.dwf</summary>\n            public const string VndDwf = \"model/vnd.dwf\";\n            /// <summary>model/vnd.flatland.3dml</summary>\n            public const string VndFlatland3dml = \"model/vnd.flatland.3dml\";\n            /// <summary>model/vnd.gdl</summary>\n            public const string VndGdl = \"model/vnd.gdl\";\n            /// <summary>model/vnd.gs-gdl</summary>\n            public const string VndGsGdl = \"model/vnd.gs-gdl\";\n            /// <summary>model/vnd.gtw</summary>\n            public const string VndGtw = \"model/vnd.gtw\";\n            /// <summary>model/vnd.moml+xml</summary>\n            public const string VndMomlXml = \"model/vnd.moml+xml\";\n            /// <summary>model/vnd.mts</summary>\n            public const string VndMts = \"model/vnd.mts\";\n            /// <summary>model/vnd.opengex</summary>\n            public const string VndOpengex = \"model/vnd.opengex\";\n            /// <summary>model/vnd.parasolid.transmit.binary</summary>\n            public const string VndParasolidTransmitBinary = \"model/vnd.parasolid.transmit.binary\";\n            /// <summary>model/vnd.parasolid.transmit.text</summary>\n            public const string VndParasolidTransmitText = \"model/vnd.parasolid.transmit.text\";\n            /// <summary>model/vnd.valve.source.compiled-map</summary>\n            public const string VndValveSourceCompiledMap = \"model/vnd.valve.source.compiled-map\";\n            /// <summary>model/vnd.vtu</summary>\n            public const string VndVtu = \"model/vnd.vtu\";\n            /// <summary>model/vrml</summary>\n            public const string Vrml = \"model/vrml\";\n            /// <summary>model/x3d-vrml</summary>\n            public const string X3dVrml = \"model/x3d-vrml\";\n            /// <summary>model/x3d+fastinfoset</summary>\n            public const string X3dFastinfoset = \"model/x3d+fastinfoset\";\n            /// <summary>model/x3d+xml</summary>\n            public const string X3dXml = \"model/x3d+xml\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the multipart type.\n        /// </summary>\n        public class Multipart\n        {\n            /// <summary>multipart/alternative</summary>\n            public const string Alternative = \"multipart/alternative\";\n            /// <summary>multipart/appledouble</summary>\n            public const string Appledouble = \"multipart/appledouble\";\n            /// <summary>multipart/byteranges</summary>\n            public const string Byteranges = \"multipart/byteranges\";\n            /// <summary>multipart/digest</summary>\n            public const string Digest = \"multipart/digest\";\n            /// <summary>multipart/encrypted</summary>\n            public const string Encrypted = \"multipart/encrypted\";\n            /// <summary>multipart/example</summary>\n            public const string Example = \"multipart/example\";\n            /// <summary>multipart/form-data</summary>\n            public const string FormData = \"multipart/form-data\";\n            /// <summary>multipart/header-set</summary>\n            public const string HeaderSet = \"multipart/header-set\";\n            /// <summary>multipart/mixed</summary>\n            public const string Mixed = \"multipart/mixed\";\n            /// <summary>multipart/parallel</summary>\n            public const string Parallel = \"multipart/parallel\";\n            /// <summary>multipart/related</summary>\n            public const string Related = \"multipart/related\";\n            /// <summary>multipart/report</summary>\n            public const string Report = \"multipart/report\";\n            /// <summary>multipart/signed</summary>\n            public const string Signed = \"multipart/signed\";\n            /// <summary>multipart/voice-message</summary>\n            public const string VoiceMessage = \"multipart/voice-message\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the text type.\n        /// </summary>\n        public class Text\n        {\n            /// <summary>text/1d-interleaved-parityfec</summary>\n            public const string _1dInterleavedParityfec = \"text/1d-interleaved-parityfec\";\n            /// <summary>text/cache-manifest</summary>\n            public const string CacheManifest = \"text/cache-manifest\";\n            /// <summary>text/calendar</summary>\n            public const string Calendar = \"text/calendar\";\n            /// <summary>text/css</summary>\n            public const string Css = \"text/css\";\n            /// <summary>text/csv</summary>\n            public const string Csv = \"text/csv\";\n            /// <summary>text/directory</summary>\n            [Obsolete(\"DEPRECATED by RFC6350\")]\n            public const string Directory = \"text/directory\";\n            /// <summary>text/dns</summary>\n            public const string Dns = \"text/dns\";\n            /// <summary>text/ecmascript</summary>\n            [Obsolete(\"OBSOLETED in favor of application/ecmascript\")]\n            public const string Ecmascript = \"text/ecmascript\";\n            /// <summary>text/encaprtp</summary>\n            public const string Encaprtp = \"text/encaprtp\";\n            /// <summary>text/enriched</summary>\n            public const string Enriched = \"text/enriched\";\n            /// <summary>text/example</summary>\n            public const string Example = \"text/example\";\n            /// <summary>text/fwdred</summary>\n            public const string Fwdred = \"text/fwdred\";\n            /// <summary>text/grammar-ref-list</summary>\n            public const string GrammarRefList = \"text/grammar-ref-list\";\n            /// <summary>text/html</summary>\n            /// <remarks>This is that web stuff.</remarks>\n            public const string Html = \"text/html\";\n            /// <summary>text/javascript</summary>\n            [Obsolete(\"OBSOLETED in favor of application/javascript\")]\n            public const string Javascript = \"text/javascript\";\n            /// <summary>text/jcr-cnd</summary>\n            public const string JcrCnd = \"text/jcr-cnd\";\n            /// <summary>text/mizar</summary>\n            public const string Mizar = \"text/mizar\";\n            /// <summary>text/n3</summary>\n            public const string N3 = \"text/n3\";\n            /// <summary>text/parameters</summary>\n            public const string Parameters = \"text/parameters\";\n            /// <summary>text/parityfec</summary>\n            public const string Parityfec = \"text/parityfec\";\n            /// <summary>text/plain</summary>\n            public const string Plain = \"text/plain\";\n            /// <summary>text/provenance-notation</summary>\n            public const string ProvenanceNotation = \"text/provenance-notation\";\n            /// <summary>text/prs.fallenstein.rst</summary>\n            public const string PrsFallensteinRst = \"text/prs.fallenstein.rst\";\n            /// <summary>text/prs.lines.tag</summary>\n            public const string PrsLinesTag = \"text/prs.lines.tag\";\n            /// <summary>text/raptorfec</summary>\n            public const string Raptorfec = \"text/raptorfec\";\n            /// <summary>text/RED</summary>\n            public const string Red = \"text/RED\";\n            /// <summary>text/rfc822-headers</summary>\n            public const string Rfc822Headers = \"text/rfc822-headers\";\n            /// <summary>text/richtext</summary>\n            public const string Richtext = \"text/richtext\";\n            /// <summary>text/rtf</summary>\n            public const string Rtf = \"text/rtf\";\n            /// <summary>text/rtp-enc-aescm128</summary>\n            public const string RtpEncAescm128 = \"text/rtp-enc-aescm128\";\n            /// <summary>text/rtploopback</summary>\n            public const string Rtploopback = \"text/rtploopback\";\n            /// <summary>text/rtx</summary>\n            public const string Rtx = \"text/rtx\";\n            /// <summary>text/sgml</summary>\n            public const string Sgml = \"text/sgml\";\n            /// <summary>text/t140</summary>\n            public const string T140 = \"text/t140\";\n            /// <summary>text/tab-separated-values</summary>\n            public const string TabSeparatedValues = \"text/tab-separated-values\";\n            /// <summary>text/troff</summary>\n            public const string Troff = \"text/troff\";\n            /// <summary>text/turtle</summary>\n            public const string Turtle = \"text/turtle\";\n            /// <summary>text/ulpfec</summary>\n            public const string Ulpfec = \"text/ulpfec\";\n            /// <summary>text/uri-list</summary>\n            public const string UriList = \"text/uri-list\";\n            /// <summary>text/vcard</summary>\n            public const string Vcard = \"text/vcard\";\n            /// <summary>text/vnd.a</summary>\n            public const string VndA = \"text/vnd.a\";\n            /// <summary>text/vnd.abc</summary>\n            public const string VndAbc = \"text/vnd.abc\";\n            /// <summary>text/vnd.curl</summary>\n            public const string VndCurl = \"text/vnd.curl\";\n            /// <summary>text/vnd.debian.copyright</summary>\n            public const string VndDebianCopyright = \"text/vnd.debian.copyright\";\n            /// <summary>text/vnd.DMClientScript</summary>\n            public const string VndDmclientscript = \"text/vnd.DMClientScript\";\n            /// <summary>text/vnd.dvb.subtitle</summary>\n            public const string VndDvbSubtitle = \"text/vnd.dvb.subtitle\";\n            /// <summary>text/vnd.esmertec.theme-descriptor</summary>\n            public const string VndEsmertecThemeDescriptor = \"text/vnd.esmertec.theme-descriptor\";\n            /// <summary>text/vnd.fly</summary>\n            public const string VndFly = \"text/vnd.fly\";\n            /// <summary>text/vnd.fmi.flexstor</summary>\n            public const string VndFmiFlexstor = \"text/vnd.fmi.flexstor\";\n            /// <summary>text/vnd.graphviz</summary>\n            public const string VndGraphviz = \"text/vnd.graphviz\";\n            /// <summary>text/vnd.in3d.3dml</summary>\n            public const string VndIn3d3dml = \"text/vnd.in3d.3dml\";\n            /// <summary>text/vnd.in3d.spot</summary>\n            public const string VndIn3dSpot = \"text/vnd.in3d.spot\";\n            /// <summary>text/vnd.IPTC.NewsML</summary>\n            public const string VndIptcNewsml = \"text/vnd.IPTC.NewsML\";\n            /// <summary>text/vnd.IPTC.NITF</summary>\n            public const string VndIptcNitf = \"text/vnd.IPTC.NITF\";\n            /// <summary>text/vnd.latex-z</summary>\n            public const string VndLatexZ = \"text/vnd.latex-z\";\n            /// <summary>text/vnd.motorola.reflex</summary>\n            public const string VndMotorolaReflex = \"text/vnd.motorola.reflex\";\n            /// <summary>text/vnd.ms-mediapackage</summary>\n            public const string VndMsMediapackage = \"text/vnd.ms-mediapackage\";\n            /// <summary>text/vnd.net2phone.commcenter.command</summary>\n            public const string VndNet2phoneCommcenterCommand = \"text/vnd.net2phone.commcenter.command\";\n            /// <summary>text/vnd.radisys.msml-basic-layout</summary>\n            public const string VndRadisysMsmlBasicLayout = \"text/vnd.radisys.msml-basic-layout\";\n            /// <summary>text/vnd.si.uricatalogue</summary>\n            [Obsolete(\"OBSOLETED by request\")]\n            public const string VndSiUricatalogue = \"text/vnd.si.uricatalogue\";\n            /// <summary>text/vnd.sun.j2me.app-descriptor</summary>\n            public const string VndSunJ2meAppDescriptor = \"text/vnd.sun.j2me.app-descriptor\";\n            /// <summary>text/vnd.trolltech.linguist</summary>\n            public const string VndTrolltechLinguist = \"text/vnd.trolltech.linguist\";\n            /// <summary>text/vnd.wap.si</summary>\n            public const string VndWapSi = \"text/vnd.wap.si\";\n            /// <summary>text/vnd.wap.sl</summary>\n            public const string VndWapSl = \"text/vnd.wap.sl\";\n            /// <summary>text/vnd.wap.wml</summary>\n            public const string VndWapWml = \"text/vnd.wap.wml\";\n            /// <summary>text/vnd.wap.wmlscript</summary>\n            public const string VndWapWmlscript = \"text/vnd.wap.wmlscript\";\n            /// <summary>text/xml</summary>\n            public const string Xml = \"text/xml\";\n            /// <summary>text/xml-external-parsed-entity</summary>\n            public const string XmlExternalParsedEntity = \"text/xml-external-parsed-entity\";\n        }\n\n        /// <summary>\n        ///   Encapsulates the media subtypes registered under the video type.\n        /// </summary>\n        public class Video\n        {\n            /// <summary>video/1d-interleaved-parityfec</summary>\n            public const string _1dInterleavedParityfec = \"video/1d-interleaved-parityfec\";\n            /// <summary>video/3gpp</summary>\n            public const string _3gpp = \"video/3gpp\";\n            /// <summary>video/3gpp2</summary>\n            public const string _3gpp2 = \"video/3gpp2\";\n            /// <summary>video/3gpp-tt</summary>\n            public const string _3gppTt = \"video/3gpp-tt\";\n            /// <summary>video/BMPEG</summary>\n            public const string Bmpeg = \"video/BMPEG\";\n            /// <summary>video/BT656</summary>\n            public const string Bt656 = \"video/BT656\";\n            /// <summary>video/CelB</summary>\n            public const string Celb = \"video/CelB\";\n            /// <summary>video/DV</summary>\n            public const string Dv = \"video/DV\";\n            /// <summary>video/encaprtp</summary>\n            public const string Encaprtp = \"video/encaprtp\";\n            /// <summary>video/example</summary>\n            public const string Example = \"video/example\";\n            /// <summary>video/H261</summary>\n            public const string H261 = \"video/H261\";\n            /// <summary>video/H263</summary>\n            public const string H263 = \"video/H263\";\n            /// <summary>video/H263-1998</summary>\n            public const string H2631998 = \"video/H263-1998\";\n            /// <summary>video/H263-2000</summary>\n            public const string H2632000 = \"video/H263-2000\";\n            /// <summary>video/H264</summary>\n            public const string H264 = \"video/H264\";\n            /// <summary>video/H264-RCDO</summary>\n            public const string H264Rcdo = \"video/H264-RCDO\";\n            /// <summary>video/H264-SVC</summary>\n            public const string H264Svc = \"video/H264-SVC\";\n            /// <summary>video/iso.segment</summary>\n            public const string IsoSegment = \"video/iso.segment\";\n            /// <summary>video/JPEG</summary>\n            public const string Jpeg = \"video/JPEG\";\n            /// <summary>video/jpeg2000</summary>\n            public const string Jpeg2000 = \"video/jpeg2000\";\n            /// <summary>video/mj2</summary>\n            public const string Mj2 = \"video/mj2\";\n            /// <summary>video/MP1S</summary>\n            public const string Mp1s = \"video/MP1S\";\n            /// <summary>video/MP2P</summary>\n            public const string Mp2p = \"video/MP2P\";\n            /// <summary>video/MP2T</summary>\n            public const string Mp2t = \"video/MP2T\";\n            /// <summary>video/mp4</summary>\n            public const string Mp4 = \"video/mp4\";\n            /// <summary>video/MP4V-ES</summary>\n            public const string Mp4vEs = \"video/MP4V-ES\";\n            /// <summary>video/MPV</summary>\n            public const string Mpv = \"video/MPV\";\n            /// <summary>video/mpeg</summary>\n            public const string Mpeg = \"video/mpeg\";\n            /// <summary>video/mpeg4-generic</summary>\n            public const string Mpeg4Generic = \"video/mpeg4-generic\";\n            /// <summary>video/nv</summary>\n            public const string Nv = \"video/nv\";\n            /// <summary>video/ogg</summary>\n            public const string Ogg = \"video/ogg\";\n            /// <summary>video/parityfec</summary>\n            public const string Parityfec = \"video/parityfec\";\n            /// <summary>video/pointer</summary>\n            public const string Pointer = \"video/pointer\";\n            /// <summary>video/quicktime</summary>\n            public const string Quicktime = \"video/quicktime\";\n            /// <summary>video/raptorfec</summary>\n            public const string Raptorfec = \"video/raptorfec\";\n            /// <summary>video/raw</summary>\n            public const string Raw = \"video/raw\";\n            /// <summary>video/rtp-enc-aescm128</summary>\n            public const string RtpEncAescm128 = \"video/rtp-enc-aescm128\";\n            /// <summary>video/rtploopback</summary>\n            public const string Rtploopback = \"video/rtploopback\";\n            /// <summary>video/rtx</summary>\n            public const string Rtx = \"video/rtx\";\n            /// <summary>video/SMPTE292M</summary>\n            public const string Smpte292m = \"video/SMPTE292M\";\n            /// <summary>video/ulpfec</summary>\n            public const string Ulpfec = \"video/ulpfec\";\n            /// <summary>video/vc1</summary>\n            public const string Vc1 = \"video/vc1\";\n            /// <summary>video/vnd.CCTV</summary>\n            public const string VndCctv = \"video/vnd.CCTV\";\n            /// <summary>video/vnd.dece.hd</summary>\n            public const string VndDeceHd = \"video/vnd.dece.hd\";\n            /// <summary>video/vnd.dece.mobile</summary>\n            public const string VndDeceMobile = \"video/vnd.dece.mobile\";\n            /// <summary>video/vnd.dece.mp4</summary>\n            public const string VndDeceMp4 = \"video/vnd.dece.mp4\";\n            /// <summary>video/vnd.dece.pd</summary>\n            public const string VndDecePd = \"video/vnd.dece.pd\";\n            /// <summary>video/vnd.dece.sd</summary>\n            public const string VndDeceSd = \"video/vnd.dece.sd\";\n            /// <summary>video/vnd.dece.video</summary>\n            public const string VndDeceVideo = \"video/vnd.dece.video\";\n            /// <summary>video/vnd.directv.mpeg</summary>\n            public const string VndDirectvMpeg = \"video/vnd.directv.mpeg\";\n            /// <summary>video/vnd.directv.mpeg-tts</summary>\n            public const string VndDirectvMpegTts = \"video/vnd.directv.mpeg-tts\";\n            /// <summary>video/vnd.dlna.mpeg-tts</summary>\n            public const string VndDlnaMpegTts = \"video/vnd.dlna.mpeg-tts\";\n            /// <summary>video/vnd.dvb.file</summary>\n            public const string VndDvbFile = \"video/vnd.dvb.file\";\n            /// <summary>video/vnd.fvt</summary>\n            public const string VndFvt = \"video/vnd.fvt\";\n            /// <summary>video/vnd.hns.video</summary>\n            public const string VndHnsVideo = \"video/vnd.hns.video\";\n            /// <summary>video/vnd.iptvforum.1dparityfec-1010</summary>\n            public const string VndIptvforum1dparityfec1010 = \"video/vnd.iptvforum.1dparityfec-1010\";\n            /// <summary>video/vnd.iptvforum.1dparityfec-2005</summary>\n            public const string VndIptvforum1dparityfec2005 = \"video/vnd.iptvforum.1dparityfec-2005\";\n            /// <summary>video/vnd.iptvforum.2dparityfec-1010</summary>\n            public const string VndIptvforum2dparityfec1010 = \"video/vnd.iptvforum.2dparityfec-1010\";\n            /// <summary>video/vnd.iptvforum.2dparityfec-2005</summary>\n            public const string VndIptvforum2dparityfec2005 = \"video/vnd.iptvforum.2dparityfec-2005\";\n            /// <summary>video/vnd.iptvforum.ttsavc</summary>\n            public const string VndIptvforumTtsavc = \"video/vnd.iptvforum.ttsavc\";\n            /// <summary>video/vnd.iptvforum.ttsmpeg2</summary>\n            public const string VndIptvforumTtsmpeg2 = \"video/vnd.iptvforum.ttsmpeg2\";\n            /// <summary>video/vnd.motorola.video</summary>\n            public const string VndMotorolaVideo = \"video/vnd.motorola.video\";\n            /// <summary>video/vnd.motorola.videop</summary>\n            public const string VndMotorolaVideop = \"video/vnd.motorola.videop\";\n            /// <summary>video/vnd.mpegurl</summary>\n            public const string VndMpegurl = \"video/vnd.mpegurl\";\n            /// <summary>video/vnd.ms-playready.media.pyv</summary>\n            public const string VndMsPlayreadyMediaPyv = \"video/vnd.ms-playready.media.pyv\";\n            /// <summary>video/vnd.nokia.interleaved-multimedia</summary>\n            public const string VndNokiaInterleavedMultimedia = \"video/vnd.nokia.interleaved-multimedia\";\n            /// <summary>video/vnd.nokia.videovoip</summary>\n            public const string VndNokiaVideovoip = \"video/vnd.nokia.videovoip\";\n            /// <summary>video/vnd.objectvideo</summary>\n            public const string VndObjectvideo = \"video/vnd.objectvideo\";\n            /// <summary>video/vnd.radgamettools.bink</summary>\n            public const string VndRadgamettoolsBink = \"video/vnd.radgamettools.bink\";\n            /// <summary>video/vnd.radgamettools.smacker</summary>\n            public const string VndRadgamettoolsSmacker = \"video/vnd.radgamettools.smacker\";\n            /// <summary>video/vnd.sealed.mpeg1</summary>\n            public const string VndSealedMpeg1 = \"video/vnd.sealed.mpeg1\";\n            /// <summary>video/vnd.sealed.mpeg4</summary>\n            public const string VndSealedMpeg4 = \"video/vnd.sealed.mpeg4\";\n            /// <summary>video/vnd.sealed.swf</summary>\n            public const string VndSealedSwf = \"video/vnd.sealed.swf\";\n            /// <summary>video/vnd.sealedmedia.softseal.mov</summary>\n            public const string VndSealedmediaSoftsealMov = \"video/vnd.sealedmedia.softseal.mov\";\n            /// <summary>video/vnd.uvvu.mp4</summary>\n            public const string VndUvvuMp4 = \"video/vnd.uvvu.mp4\";\n            /// <summary>video/vnd.vivo</summary>\n            public const string VndVivo = \"video/vnd.vivo\";\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Message/CorrelationMessage.cs",
    "content": "﻿using Newtonsoft.Json;\nusing Newtonsoft.Json.Serialization;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Message\n{\n    [JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]\n    public class CorrelationMessage\n    {\n        /// <summary>\n        /// The name of the message to deliver.\n        /// </summary>\n        public string MessageName;\n        /// <summary>\n        /// Used for correlation of process instances that wait for incoming messages. Will only correlate to executions that belong to a process instance with the provided business key.\n        /// </summary>\n        public string BusinessKey = \"\";\n        /// <summary>\n        /// Used for correlation of process instances that wait for incoming messages. Has to be an object containing key-value pairs that are matched against process instance variables during correlation. \n        /// </summary>\n        public Dictionary<string, VariableValue> CorrelationKeys = new Dictionary<string, VariableValue>();\n        /// <summary>\n        /// A map of variables that is injected into the triggered execution or process instance after the message has been delivered.\n        /// </summary>\n        public Dictionary<string, VariableValue> ProcessVariables = new Dictionary<string, VariableValue>();\n        /// <summary>\n        /// Used to correlate the message for a tenant with the given id. Will only correlate to executions and process definitions which belongs to the tenant.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// A Boolean value that indicates whether the message should only be correlated to executions and process definitions which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId;\n        /// <summary>\n        /// Used to correlate the message to the process instance with the given id. Must not be supplied in conjunction with a tenantId.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// A Boolean value that indicates whether the message should be correlated to exactly one entity or multiple entities.\n        /// If the value is set to false the message will be correlated to exactly one entity (execution or process definition).\n        /// If the value is set to true the message will be correlated to multiple executions and a process definition that can be instantiated by this message in one go.\n        /// </summary>\n        public bool All = false;\n        /// <summary>\n        /// A Boolean value that indicates whether the result of the correlation should be returned or not.\n        /// If this property is set to true, there will be returned a list of message correlation result objects.\n        /// Depending on the all property, there will be either one ore more returned results in the list.\n        /// </summary>\n        public bool ResultEnabled;\n\n        public CorrelationMessage SetVariable(string name, object value)\n        {\n            ProcessVariables = (ProcessVariables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n        \n        public CorrelationMessage SetCorrelationKey(string name, object value)\n        {\n            CorrelationKeys = (CorrelationKeys ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Message/CorrelationResult.cs",
    "content": "﻿using Camunda.Api.Client.Execution;\nusing Camunda.Api.Client.ProcessInstance;\nusing System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.Message\n{\n    public class CorrelationResult\n    {\n        /// <summary>\n        /// Indicates if the message was correlated to a message start event or an intermediate message catching event.\n        /// In the first case, the <see cref=\"ResultType\"/> is <see cref=\"MessageCorrelationResultType.ProcessDefinition\"/> and otherwise <see cref=\"MessageCorrelationResultType.Execution\"/>.\n        /// </summary>\n        public MessageCorrelationResultType ResultType;\n\n        /// <summary>\n        /// This property only has a value if the <see cref=\"ResultType\"/> is set to <see cref=\"MessageCorrelationResultType.Execution\"/>.\n        /// </summary>\n        public ExecutionInfo Execution;\n\n        /// <summary>\n        /// This property only has a value if the <see cref=\"ResultType\"/> is set to <see cref=\"MessageCorrelationResultType.ProcessDefinition\"/>\n        /// </summary>\n        public ProcessInstanceInfo ProcessInstance;\n    }\n\n    public enum MessageCorrelationResultType\n    {\n        [EnumMember(Value = nameof(ProcessDefinition))]\n        ProcessDefinition,\n\n        [EnumMember(Value = nameof(Execution))]\n        Execution,\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Message/IMessageRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Message\n{\n    internal interface IMessageRestService\n    {\n        [Post(\"/message\")]\n        Task<List<CorrelationResult>> DeliverMessage([Body] CorrelationMessage message);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Message/MessageService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Message\n{\n    public class MessageService\n    {\n        private IMessageRestService _api;\n\n        internal MessageService(IMessageRestService api)\n        {\n            _api = api;\n        }\n\n        /// <summary>\n        /// Deliver a message to the process engine to either trigger a message start event or an intermediate message catching event. \n        /// Internally this maps to the engine’s message correlation builder methods <c>MessageCorrelationBuilder#correlate()</c> and <c>MessageCorrelationBuilder#correlateAll()</c>\n        /// </summary>\n        public Task<List<CorrelationResult>> DeliverMessage(CorrelationMessage message) => _api.DeliverMessage(message);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/IMigrationRestService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\nusing Camunda.Api.Client.Batch;\nusing Refit;\n\nnamespace Camunda.Api.Client.Migration\n{\n    internal interface IMigrationRestService\n    {\n        [Post(\"/migration/generate\")]\n        Task<MigrationPlan> Generate([Body] MigrationPlanGeneration request);\n\n        [Post(\"/migration/validate\")]\n        Task<MigrationPlanReport> Validate([Body] MigrationPlan plan);\n\n        [Post(\"/migration/execute\")]\n        Task Execute([Body] MigrationExecution request);\n\n        [Post(\"/migration/executeAsync\")]\n        Task<BatchInfo> ExecuteAsync([Body] MigrationExecution request);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationExecution.cs",
    "content": "﻿using System.Collections.Generic;\nusing Camunda.Api.Client.ProcessInstance;\nusing Newtonsoft.Json;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationExecution\n    {\n        /// <summary>\n        /// The migration plan to execute.\n        /// </summary>\n        [JsonProperty(\"migrationPlan\")]\n        public MigrationPlan MigrationPlan;\n\n        /// <summary>\n        /// A list of process instance ids to migrate.\n        /// </summary>\n        [JsonProperty(\"processInstanceIds\")]\n        public List<string> ProcessInstanceIds;\n\n        /// <summary>\n        /// A process instance query.\n        /// </summary>\n        [JsonProperty(\"processInstanceQuery\")]\n        public ProcessInstanceQuery ProcessInstanceQuery;\n\n        /// <summary>\n        /// A boolean value to control whether execution listeners should be invoked during migration.\n        /// </summary>\n        [JsonProperty(\"skipCustomListeners\")]\n        public bool SkipCustomListeners;\n\n        /// <summary>\n        /// A boolean value to control whether input/output mappings should be executed during migration.\n        /// </summary>\n        [JsonProperty(\"skipIoMappings\")]\n        public bool SkipIoMappings;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationInstruction.cs",
    "content": "﻿using System.Collections.Generic;\nusing Newtonsoft.Json;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationInstruction\n    {\n        /// <summary>\n        /// The activity ids from the source process definition being mapped.\n        /// </summary>\n        [JsonProperty(\"sourceActivityIds\")]\n        public List<string> SourceActivityIds;\n\n        /// <summary>\n        /// The activity ids from the target process definition being mapped.\n        /// </summary>\n        [JsonProperty(\"targetActivityIds\")]\n        public List<string> TargetActivityIds;\n\n        /// <summary>\n        /// Configuration flag whether event triggers defined are going to be updated during migration.\n        /// </summary>\n        [JsonProperty(\"updateEventTrigger\")]\n        public bool UpdateEventTrigger;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationInstructionValidationReport.cs",
    "content": "﻿using System.Collections.Generic;\nusing Newtonsoft.Json;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationInstructionValidationReport\n    {\n        /// <summary>\n        /// A migration instruction object.\n        /// </summary>\n        [JsonProperty(\"instruction\")]\n        public MigrationInstruction Instruction;\n\n        /// <summary>\n        /// A list of instruction validation report messages.\n        /// </summary>\n        [JsonProperty(\"failures\")]\n        public List<string> Failures;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationPlan.cs",
    "content": "﻿using System.Collections.Generic;\nusing Newtonsoft.Json;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationPlan\n    {\n        /// <summary>\n        /// The id of the source process definition for the migration.\n        /// </summary>\n        [JsonProperty(\"sourceProcessDefinitionId\")]\n        public string SourceProcessDefinitionId;\n\n        /// <summary>\n        /// The id of the target process definition for the migration.\n        /// </summary>\n        [JsonProperty(\"targetProcessDefinitionId\")]\n        public string TargetProcessDefinitionId;\n\n        /// <summary>\n        /// A list of migration instructions which map equal activities.\n        /// </summary>\n        [JsonProperty(\"instructions\")]\n        public List<MigrationInstruction> Instructions;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationPlanGeneration.cs",
    "content": "﻿using Newtonsoft.Json;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationPlanGeneration\n    {\n        /// <summary>\n        /// The id of the source process definition for the migration.\n        /// </summary>\n        [JsonProperty(\"sourceProcessDefinitionId\")]\n        public string SourceProcessDefinitionId;\n\n        /// <summary>\n        /// The id of the target process definition for the migration.\n        /// </summary>\n        [JsonProperty(\"targetProcessDefinitionId\")]\n        public string TargetProcessDefinitionId;\n\n        /// <summary>\n        /// A boolean flag indicating whether instructions between events should be configured to update the event triggers.\n        /// </summary>\n        [JsonProperty(\"updateEventTriggers\")]\n        public bool UpdateEventTriggers;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationPlanReport.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Serialization;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationPlanReport\n    {\n        /// <summary>\n        /// The list of instruction validation reports. If no validation errors are detected it is an empty list.\n        /// </summary>\n        [JsonProperty(\"instructionReports\")]\n        public List<MigrationInstructionValidationReport> InstructionReports;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Migration/MigrationService.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Threading.Tasks;\nusing Camunda.Api.Client.Batch;\n\nnamespace Camunda.Api.Client.Migration\n{\n    public class MigrationService\n    {\n        private IMigrationRestService _api;\n\n        internal MigrationService(IMigrationRestService api)\n        {\n            _api = api;\n        }\n\n        /// <summary>\n        /// Generates a migration plan for two process definitions. The generated migration plan contains migration instructions which map equal activities between the two process definitions.\n        /// </summary>\n        /// <param name=\"request\"></param>\n        /// <returns></returns>\n        public Task<MigrationPlan> Generate(MigrationPlanGeneration request) => _api.Generate(request);\n\n        /// <summary>\n        /// Validates a migration plan statically without executing it.\n        /// </summary>\n        /// <param name=\"plan\"></param>\n        /// <returns></returns>\n        public Task<MigrationPlanReport> Validate(MigrationPlan plan) => _api.Validate(plan);\n\n        /// <summary>\n        /// Executes a migration plan synchronously for multiple process instances.\n        /// </summary>\n        /// <param name=\"request\"></param>\n        /// <returns></returns>\n        public Task Execute(MigrationExecution request) => _api.Execute(request);\n\n        /// <summary>\n        /// Executes a migration plan asynchronously (batch) for multiple process instances.\n        /// </summary>\n        /// <param name=\"request\"></param>\n        /// <returns></returns>\n        public Task<BatchInfo> ExecuteAsync(MigrationExecution request) => _api.ExecuteAsync(request);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/NamedVariableValue.cs",
    "content": "﻿\nnamespace Camunda.Api.Client\n{\n    public class NamedVariableValue : VariableValue\n    {\n        public string Name;\n\n        protected NamedVariableValue() { }\n\n        public static NamedVariableValue FromObject(string name, object value)\n        {\n            var val = new NamedVariableValue();\n            val.Name = name;\n            val.SetTypedValue(value);\n            return val;\n        }\n\n        public override string ToString() => $\"{Name} = {base.ToString()}\";\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/PatchVariables.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public class PatchVariables\n    {\n        /// <summary>\n        /// A object containing variable key-value pairs.\n        /// </summary>\n        public Dictionary<string, VariableValue> Modifications;\n\n        /// <summary>\n        /// An array of String keys of variables to be deleted.\n        /// </summary>\n        public List<string> Deletions;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/PlainTextContent.cs",
    "content": "﻿using Iana;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client\n{\n    internal class PlainTextContent : StringContent\n    {\n        public PlainTextContent(string partName, string text) : base(text ?? \"\")\n        {\n            Headers.ContentDisposition = new ContentDispositionHeaderValue(\"form-data\") { Name = partName };\n            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Text.Plain) { CharSet = \"UTF-8\" };\n            Headers.Add(\"Content-Transfer-Encoding\", \"8bit\");\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/PriorityInfo.cs",
    "content": "﻿\nnamespace Camunda.Api.Client\n{\n    internal class PriorityInfo\n    {\n        public long Priority;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/FormInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.ProcessDefinition\n{\n    public class FormInfo\n    {\n        /// <summary>\n        /// The form key for the process definition.\n        /// </summary>\n        public string Key;\n        public string ContextPath;\n\n        public override string ToString() => Key;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/IProcessDefinitionRestService.cs",
    "content": "﻿using Camunda.Api.Client.ProcessInstance;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    internal interface IProcessDefinitionRestService\n    {\n        [Get(\"/process-definition\")]\n        Task<List<ProcessDefinitionInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/process-definition/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/process-definition/statistics\")]\n        Task<List<ProcessDefinitionStatisticsResult>> GetProcessInstanceStatistics(bool failedJobs, bool? incidents, string incidentsForType);\n\n        [Delete(\"/process-definition/{id}\")]\n        Task Delete(string id, bool cascade, bool skipCustomListeners, bool skipIoMappings);\n        [Delete(\"/process-definition/key/{key}/delete\")]\n        Task DeleteByKey(string key, bool cascade, bool skipCustomListeners, bool skipIoMappings);\n        [Delete(\"/process-definition/key/{key}/tenant-id/{tenantId}/delete\")]\n        Task DeleteByKeyAndTenantId(string key, string tenantId, bool cascade, bool skipCustomListeners, bool skipIoMappings);\n\n        [Put(\"/process-definition/{id}/suspended\")]\n        Task UpdateSuspensionStateById(string id, [Body] ProcessDefinitionSuspensionState state);\n        [Put(\"/process-definition/key/{key}/suspended\")]\n        Task UpdateSuspensionStateByKey(string key, [Body] ProcessDefinitionSuspensionState state);\n        [Put(\"/process-definition/key/{key}/tenant-id/{tenantId}/suspended\")]\n        Task UpdateSuspensionStateByKeyAndTenantId(string key, string tenantId, [Body] ProcessDefinitionSuspensionState state);\n\n\n        [Get(\"/process-definition/{id}\")]\n        Task<ProcessDefinitionInfo> GetById(string id);\n        [Get(\"/process-definition/key/{key}\")]\n        Task<ProcessDefinitionInfo> GetByKey(string key);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}\")]\n        Task<ProcessDefinitionInfo> GetByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/process-definition/{id}/xml\")]\n        Task<ProcessDefinitionDiagram> GetXmlById(string id);\n        [Get(\"/process-definition/key/{key}/xml\")]\n        Task<ProcessDefinitionDiagram> GetXmlByKey(string key);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/xml\")]\n        Task<ProcessDefinitionDiagram> GetXmlByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/process-definition/{id}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramById(string id);\n        [Get(\"/process-definition/key/{key}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKey(string key);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/diagram\")]\n        Task<HttpResponseMessage> GetDiagramByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/process-definition/{id}/form-variables\")]\n        Task<Dictionary<string, VariableValue>> GetFormVariablesById(string id, string variableNames, bool deserializeValues = true);\n        [Get(\"/process-definition/key/{key}/form-variables\")]\n        Task<Dictionary<string, VariableValue>> GetFormVariablesByKey(string key, string variableNames, bool deserializeValues = true);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/form-variables\")]\n        Task<Dictionary<string, VariableValue>> GetFormVariablesByKeyAndTenantId(string key, string tenantId, string variableNames, bool deserializeValues = true);\n\n\n        [Get(\"/process-definition/{id}/startForm\")]\n        Task<FormInfo> GetStartFormById(string id);\n        [Get(\"/process-definition/key/{key}/startForm\")]\n        Task<FormInfo> GetStartFormByKey(string key);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/startForm\")]\n        Task<FormInfo> GetStartFormByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/process-definition/{id}/rendered-form\")]\n        Task<string> GetRenderedFormById(string id);\n        [Get(\"/process-definition/key/{key}/rendered-form\")]\n        Task<string> GetRenderedFormByKey(string key);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/rendered-form\")]\n        Task<string> GetRenderedFormByKeyAndTenantId(string key, string tenantId);\n\n\n        [Get(\"/process-definition/{id}/statistics\")]\n        Task<List<StatisticsResult>> GetActivityStatisticsById(string id, bool failedJobs, bool? incidents, string incidentsForType);\n        [Get(\"/process-definition/key/{key}/statistics\")]\n        Task<List<StatisticsResult>> GetActivityStatisticsByKey(string key, bool failedJobs, bool? incidents, string incidentsForType);\n        [Get(\"/process-definition/key/{key}/tenant-id/{tenantId}/statistics\")]\n        Task<List<StatisticsResult>> GetActivityStatisticsByKeyAndTenantId(string key, string tenantId, bool failedJobs, bool? incidents, string incidentsForType);\n\n\n        [Post(\"/process-definition/{id}/submit-form\")]\n        Task<ProcessInstanceInfo> SubmitStartFormById(string id, [Body] SubmitStartForm parameters);\n        [Post(\"/process-definition/key/{key}/submit-form\")]\n        Task<ProcessInstanceInfo> SubmitStartFormByKey(string key, [Body] SubmitStartForm parameters);\n        [Post(\"/process-definition/key/{key}/tenant-id/{tenantId}/submit-form\")]\n        Task<ProcessInstanceInfo> SubmitStartFormByKeyAndTenantId(string key, string tenantId, [Body] SubmitStartForm parameters);\n\n\n        [Post(\"/process-definition/{id}/start\")]\n        Task<ProcessInstanceWithVariables> StartProcessInstanceById(string id, [Body] StartProcessInstance parameters);\n        [Post(\"/process-definition/key/{key}/start\")]\n        Task<ProcessInstanceWithVariables> StartProcessInstanceByKey(string key, [Body] StartProcessInstance parameters);\n        [Post(\"/process-definition/key/{key}/tenant-id/{tenantId}/start\")]\n        Task<ProcessInstanceWithVariables> StartProcessInstanceByKeyAndTenantId(string key, string tenantId, [Body] StartProcessInstance parameters);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/IncidentStatisticsResult.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class IncidentStatisticsResult\n    {\n        /// <summary>\n        /// The type of the incident the number of incidents is aggregated for.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// The total number of incidents for the corresponding incident type.\n        /// </summary>\n        public int IncidentCount;\n\n        public override string ToString() => $\"{IncidentType} ({IncidentCount})\";\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionDiagram.cs",
    "content": "﻿namespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionDiagram\n    {\n        /// <summary>\n        /// The id of the process definition.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// XML string containing the XML that this definition was deployed with.\n        /// </summary>\n        public string Bpmn20Xml;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionInfo.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionInfo\n    {\n        /// <summary>\n        /// The id of the process definition.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The key of the process definition, i.e. the id of the BPMN 2.0 XML process definition.\n        /// </summary>\n        public string Key;\n        /// <summary>\n        /// The category of the process definition.\n        /// </summary>\n        public string Category;\n        /// <summary>\n        /// The description of the process definition.\n        /// </summary>\n        public string Description;\n        /// <summary>\n        /// The name of the process definition.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// The version of the process definition that the engine assigned to it.\n        /// </summary>\n        public int Version;\n        /// <summary>\n        /// The file name of the process definition.\n        /// </summary>\n        public string Resource;\n        /// <summary>\n        /// The deployment id of the process definition.\n        /// </summary>\n        public string DeploymentId;\n        /// <summary>\n        /// The file name of the process definition diagram, if it exists.\n        /// </summary>\n        public string Diagram;\n        /// <summary>\n        /// A flag indicating whether the definition is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The tenant id of the process definition.\n        /// </summary>\n        public string TenantId;\n        /// <summary>\n        /// The version tag of the process definition.\n        /// </summary>\n        public string VersionTag;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by process definition id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Filter by process definition ids.\n        /// </summary>\n        [JsonProperty(\"processDefinitionIdIn\")]\n        public List<string> ProcessDefinitionIds = new List<string>();\n        /// <summary>\n        /// Filter by process definition category. Exact match.\n        /// </summary>\n        public string Category;\n        /// <summary>\n        /// Filter by process definition categories that the parameter is a substring of.\n        /// </summary>\n        public string CategoryLike;\n        /// <summary>\n        /// Filter by process definition name.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// Filter by process definition names that the parameter is a substring of.\n        /// </summary>\n        public string NameLike;\n        /// <summary>\n        /// Filter by the deployment the id belongs to.\n        /// </summary>\n        public string DeploymentId;\n        /// <summary>\n        /// Filter by process definition key, i.e. the id in the BPMN 2.0 XML. Exact match.\n        /// </summary>\n        public string Key;\n        /// <summary>\n        /// Filter by process definition keys that the parameter is a substring of.\n        /// </summary>\n        public string KeyLike;\n        /// <summary>\n        /// Filter by the name of the process definition resource. Exact match.\n        /// </summary>\n        public string ResourceName;\n        /// <summary>\n        /// Filter by names of those process definition resources that the parameter is a substring of.\n        /// </summary>\n        public string ResourceNameLike;\n        /// <summary>\n        /// Filter by process definition version.\n        /// </summary>\n        public int? Version;\n        /// <summary>\n        /// Only include those process definitions that are latest versions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        /// <remarks>\n        /// Can only be used in combination with Key or KeyLike. Can also be used without any other criteria which will then give all the latest versions of all the deployed process definitions.\n        /// For multi-tenancy: select the latest deployed process definitions for each tenant. If a process definition is deployed for multiple tenants then all process definitions are selected.\n        /// </remarks>\n        public bool LatestVersion = false;\n        /// <summary>\n        /// Only include suspended process definitions. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Suspended = false;\n        /// <summary>\n        /// Only selects process definitions with the given incident type.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// Only selects process definitions with the given incident id.\n        /// </summary>\n        public string IncidentId;\n        /// <summary>\n        /// Only selects process definitions with the given incident message.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// Only selects process definitions with an incident message like the given.\n        /// </summary>\n        public string IncidentMessageLike;\n        /// <summary>\n        /// Filter by a comma-separated list of tenant ids. A process definition must have one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Include process definitions which belongs to no tenant. Can be used in combination with tenantIdIn. Value may only be true, as false is the default behavior.\n        /// </summary>\n        [JsonProperty(\"includeProcessDefinitionsWithoutTenantId\")]\n        public bool IncludeDefinitionsWithoutTenantId = false;\n        /// <summary>\n        /// Filter by the version tag.\n        /// </summary>\n        public string VersionTag;\n        /// <summary>\n        /// Filter by the version tag that the parameter is a substring of.\n        /// </summary>\n        public string VersionTagLike;\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/> parameter. Note: Sorting by <see cref=\"VersionTag\"/> is string based. The version will not be interpreted. As an example, the sorting could return v0.1.0, v0.10.0, v0.2.0.\n        /// </summary>\n        public ProcessDefinitionSorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/> parameter.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum ProcessDefinitionSorting\n    {\n        Id,\n        Key,\n        Category,\n        Name,\n        Version,\n        DeploymentId,\n        TenantId,\n        VersionTag\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResource.cs",
    "content": "﻿using Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public abstract class ProcessDefinitionResource\n    {\n        /// <summary>\n        /// Retrieves a single process definition according to the ProcessDefinition interface in the engine.\n        /// </summary>\n        public abstract Task<ProcessDefinitionInfo> Get();\n\n        /// <summary>\n        /// Deletes process definition(s).\n        /// </summary>\n        /// <returns></returns>\n        public abstract Task Delete(bool cascade, bool skipCustomListeners, bool skipIoMappings);\n\n        /// <summary>\n        /// Retrieves the BPMN 2.0 XML of this process definition.\n        /// </summary>\n        public abstract Task<ProcessDefinitionDiagram> GetXml();\n\n        /// <summary>\n        /// Retrieves the diagram of a process definition.\n        /// </summary>\n        /// <returns>Retrieves the diagram of a process definition.</returns>\n        public abstract Task<HttpContent> GetDiagram();\n\n        /// <summary>\n        /// Instantiates a given process definition. Process variables and business key may be supplied in the request body.\n        /// </summary>\n        public abstract Task<ProcessInstanceWithVariables> StartProcessInstance(StartProcessInstance parameters);\n\n        /// <summary>\n        /// Start a process instance using a set of process variables and the business key. \n        /// If the start event has Form Field Metadata defined, the process engine will perform backend validation for any form fields which have validators defined. \n        /// </summary>\n        public abstract Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm parameters);\n        \n        protected abstract Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, bool? includeIncidents, string includeIncidentsForType);\n\n        /// <summary>\n        /// Retrieves runtime statistics of a given process definition grouped by activities. These statistics include the number of running activity instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        /// <param name=\"includeIncidents\">If this property has been set to true the result will include the corresponding number of incidents for each occurred incident type. If it is set to false, the incidents will not be included in the result.</param>\n        public Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, bool includeIncidents) => GetActivityStatistics(includeFailedJobs, includeIncidents, null);\n        /// <summary>\n        /// Retrieves runtime statistics of a given process definition grouped by activities. These statistics include the number of running activity instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        /// <param name=\"includeIncidentsForType\">If this property has been set with any incident type (i.e. a String value) the result will only include the number of incidents for the assigned incident type.</param>\n        public Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, string includeIncidentsForType) => GetActivityStatistics(includeFailedJobs, null, includeIncidentsForType);\n        /// <summary>\n        /// Retrieves runtime statistics of a given process definition grouped by activities. These statistics include the number of running activity instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        public Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs) => GetActivityStatistics(includeFailedJobs, false, null);\n\n        /// <summary>\n        /// Retrieves the key of the start form for a process definition. The form key corresponds to the FormData#formKey property in the engine.\n        /// </summary>\n        public abstract Task<FormInfo> GetStartForm();\n\n        /// <summary>\n        /// Retrieves the rendered form for a process definition. This method can be used for getting the HTML rendering of a Generated Task Form.\n        /// </summary>\n        public abstract Task<string> GetRenderedForm();\n\n        /// <summary>\n        /// Activate or suspend a given process definition by id or by latest version of process definition key.\n        /// </summary>\n        public abstract Task UpdateSuspensionState(ProcessDefinitionSuspensionState state);\n\n        /// <summary>\n        /// Retrieves the start form variables for a process definition. The start form variables take form data specified on the start event into account.\n        /// If form fields are defined, the variable types and default values of the form fields are taken into account.\n        /// </summary>\n        public abstract Task<Dictionary<string, VariableValue>> GetFormVariables(params string[] variableNames);\n\n        /// <summary>\n        /// Retrieves the start form variables for a process definition. The start form variables take form data specified on the start event into account.\n        /// If form fields are defined, the variable types and default values of the form fields are taken into account.\n        /// </summary>\n        /// <param name=\"variableNames\">Allows restricting the list of requested variables to the variable names in the list. \n        /// It is best practice to restrict the list of variables to the variables actually required by the form in order to minimize fetching of data.\n        /// If the query parameter is ommitted all variables are fetched. If the query parameter contains non-existent variable names, the variable names are ignored.</param>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public abstract Task<Dictionary<string, VariableValue>> GetFormVariables(string[] variableNames, bool deserializeValues = true);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceById.cs",
    "content": "﻿\nusing Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionResourceById : ProcessDefinitionResource\n    {\n        private IProcessDefinitionRestService _api;\n        private string _processDefinitionId;\n\n        internal ProcessDefinitionResourceById(IProcessDefinitionRestService api, string processDefinitionId)\n        {\n            _api = api;\n            _processDefinitionId = processDefinitionId;\n        }\n\n        public override Task<ProcessDefinitionInfo> Get() => _api.GetById(_processDefinitionId);\n\n        public override Task Delete(bool cascade, bool skipCustomListeners, bool skipIoMappings = true) => _api.Delete(_processDefinitionId, cascade, skipCustomListeners, skipIoMappings);\n\n        public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXmlById(_processDefinitionId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramById(_processDefinitionId)).Content;\n\n        public override Task<ProcessInstanceWithVariables> StartProcessInstance(StartProcessInstance parameters) => _api.StartProcessInstanceById(_processDefinitionId, parameters);\n\n        public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm parameters) => _api.SubmitStartFormById(_processDefinitionId, parameters);\n\n        protected override Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, bool? includeIncidents, string includeIncidentsForType) => \n            _api.GetActivityStatisticsById(_processDefinitionId, includeFailedJobs, includeIncidents, includeIncidentsForType);\n\n        public override Task<FormInfo> GetStartForm() => _api.GetStartFormById(_processDefinitionId);\n\n        public override Task<string> GetRenderedForm() => _api.GetRenderedFormById(_processDefinitionId);\n\n        public override Task UpdateSuspensionState(ProcessDefinitionSuspensionState state) => _api.UpdateSuspensionStateById(_processDefinitionId, state);\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(params string[] variableNames) => _api.GetFormVariablesById(_processDefinitionId, variableNames.Join());\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(string[] variableNames, bool deserializeValues = true) => _api.GetFormVariablesById(_processDefinitionId, variableNames.Join(), deserializeValues);\n\n        public override string ToString() => _processDefinitionId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceByKey.cs",
    "content": "﻿\nusing Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionResourceByKey : ProcessDefinitionResource\n    {\n        private IProcessDefinitionRestService _api;\n        private string _processDefinitionKey;\n\n        internal ProcessDefinitionResourceByKey(IProcessDefinitionRestService api, string processDefinitionKey)\n        {\n            _api = api;\n            _processDefinitionKey = processDefinitionKey;\n        }\n\n        public override Task<ProcessDefinitionInfo> Get() => _api.GetByKey(_processDefinitionKey);\n\n        public override Task Delete(bool cascade, bool skipCustomListeners, bool skipIoMappings = true) =>\n            _api.DeleteByKey(_processDefinitionKey, cascade, skipCustomListeners, skipIoMappings);\n\n        public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXmlByKey(_processDefinitionKey);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKey(_processDefinitionKey)).Content;\n\n        public override Task<ProcessInstanceWithVariables> StartProcessInstance(StartProcessInstance parameters) => _api.StartProcessInstanceByKey(_processDefinitionKey, parameters);\n\n        public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm parameters) => _api.SubmitStartFormByKey(_processDefinitionKey, parameters);\n\n        protected override Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, bool? includeIncidents, string includeIncidentsForType) =>\n            _api.GetActivityStatisticsByKey(_processDefinitionKey, includeFailedJobs, includeIncidents, includeIncidentsForType);\n\n        public override Task<FormInfo> GetStartForm() => _api.GetStartFormByKey(_processDefinitionKey);\n\n        public override Task<string> GetRenderedForm() => _api.GetRenderedFormByKey(_processDefinitionKey);\n\n        public override Task UpdateSuspensionState(ProcessDefinitionSuspensionState state) => _api.UpdateSuspensionStateByKey(_processDefinitionKey, state);\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(params string[] variableNames) => _api.GetFormVariablesByKey(_processDefinitionKey, variableNames.Join());\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(string[] variableNames, bool deserializeValues = true) => _api.GetFormVariablesByKey(_processDefinitionKey, variableNames.Join(), deserializeValues);\n\n        public override string ToString() => _processDefinitionKey;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionResourceByKeyAndTenantId.cs",
    "content": "﻿\nusing Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionResourceByKeyAndTenantId : ProcessDefinitionResource\n    {\n        private IProcessDefinitionRestService _api;\n        private string _processDefinitionKey, _tenantId;\n\n        internal ProcessDefinitionResourceByKeyAndTenantId(IProcessDefinitionRestService api, string processDefinitionKey, string tenantId)\n        {\n            _api = api;\n            _processDefinitionKey = processDefinitionKey;\n            _tenantId = tenantId;\n        }\n\n        public override Task<ProcessDefinitionInfo> Get() => _api.GetByKeyAndTenantId(_processDefinitionKey, _tenantId);\n\n        public override Task Delete(bool cascade, bool skipCustomListeners, bool skipIoMappings) =>\n            _api.DeleteByKeyAndTenantId(_processDefinitionKey, _tenantId, cascade, skipCustomListeners, skipIoMappings);\n\n        public override Task<ProcessDefinitionDiagram> GetXml() => _api.GetXmlByKeyAndTenantId(_processDefinitionKey, _tenantId);\n\n        public override async Task<HttpContent> GetDiagram() => (await _api.GetDiagramByKeyAndTenantId(_processDefinitionKey, _tenantId)).Content;\n\n        public override Task<ProcessInstanceWithVariables> StartProcessInstance(StartProcessInstance parameters) => _api.StartProcessInstanceByKeyAndTenantId(_processDefinitionKey, _tenantId, parameters);\n\n        public override Task<ProcessInstanceInfo> SubmitForm(SubmitStartForm parameters) => _api.SubmitStartFormByKeyAndTenantId(_processDefinitionKey, _tenantId, parameters);\n\n        protected override Task<List<StatisticsResult>> GetActivityStatistics(bool includeFailedJobs, bool? includeIncidents, string includeIncidentsForType) =>\n            _api.GetActivityStatisticsByKeyAndTenantId(_processDefinitionKey, _tenantId, includeFailedJobs, includeIncidents, includeIncidentsForType);\n\n        public override Task<FormInfo> GetStartForm() => _api.GetStartFormByKeyAndTenantId(_processDefinitionKey, _tenantId);\n\n        public override Task<string> GetRenderedForm() => _api.GetRenderedFormByKeyAndTenantId(_processDefinitionKey, _tenantId);\n\n        public override Task UpdateSuspensionState(ProcessDefinitionSuspensionState state) => _api.UpdateSuspensionStateByKeyAndTenantId(_processDefinitionKey, _tenantId, state);\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(params string[] variableNames) => _api.GetFormVariablesByKeyAndTenantId(_processDefinitionKey, _tenantId, variableNames.Join());\n\n        public override Task<Dictionary<string, VariableValue>> GetFormVariables(string[] variableNames, bool deserializeValues = true) => _api.GetFormVariablesByKeyAndTenantId(_processDefinitionKey, _tenantId, variableNames.Join(), deserializeValues);\n\n        public override string ToString() => _processDefinitionKey;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionService\n    {\n        private IProcessDefinitionRestService _api;\n\n        internal ProcessDefinitionService(IProcessDefinitionRestService api) { _api = api; }\n\n        public ProcessDefinitionResource this[string processDefinitionId] => new ProcessDefinitionResourceById(_api, processDefinitionId);\n\n        public ProcessDefinitionResource ByKey(string processDefinitionKey) => new ProcessDefinitionResourceByKey(_api, processDefinitionKey);\n\n        public ProcessDefinitionResource ByKey(string processDefinitionKey, string tenantId) => new ProcessDefinitionResourceByKeyAndTenantId(_api, processDefinitionKey, tenantId);\n\n        public QueryResource<ProcessDefinitionQuery, ProcessDefinitionInfo>\n            Query(ProcessDefinitionQuery query = null) =>\n            new QueryResource<ProcessDefinitionQuery, ProcessDefinitionInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        /// <summary>\n        /// Retrieves runtime statistics of the process engine grouped by process definitions. These statistics include the number of running process instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        /// <param name=\"includeIncidents\">If this property has been set to true the result will include the corresponding number of incidents for each occurred incident type. If it is set to false, the incidents will not be included in the result.</param>\n        /// <remarks>This does not include historic data.</remarks>\n        public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(bool includeFailedJobs, bool includeIncidents) =>\n            _api.GetProcessInstanceStatistics(includeFailedJobs, includeIncidents, null);\n\n        /// <summary>\n        /// Retrieves runtime statistics of the process engine grouped by process definitions. These statistics include the number of running process instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        /// <param name=\"includeIncidentsForType\">If this property has been set with any incident type (i.e. a string value) the result will only include the number of incidents for the assigned incident type.</param>\n        /// <remarks>This does not include historic data.</remarks>\n        public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(bool includeFailedJobs, string includeIncidentsForType) =>\n            _api.GetProcessInstanceStatistics(includeFailedJobs, null, includeIncidentsForType);\n\n        /// <summary>\n        /// Retrieves runtime statistics of the process engine grouped by process definitions. These statistics include the number of running process instances, optionally the number of failed jobs and also optionally the number of incidents either grouped by incident types or for a specific incident type.\n        /// </summary>\n        /// <param name=\"includeFailedJobs\">Whether to include the number of failed jobs in the result or not.</param>\n        /// <remarks>This does not include historic data.</remarks>\n        public Task<List<ProcessDefinitionStatisticsResult>> GetStatistics(bool includeFailedJobs) => GetStatistics(includeFailedJobs, false);\n\n        /// <summary>\n        /// Deletes a process definition from a deployment by id.\n        /// </summary>\n        /// <param name=\"processDefinitionId\"></param>\n        /// <param name=\"cascade\"><c>true</c>, if all process instances, historic process instances and jobs for this process definition should be deleted.</param>\n        /// <param name=\"skipCustomListeners\"><c>true</c>, if only the built-in ExecutionListeners should be notified with the end event.</param>\n        /// <param name=\"skipIoMappings\"><c>true</c>, if input/output mappings should not be invoked.</param>\n        /// <returns></returns>\n        public Task Delete(string processDefinitionId, bool cascade, bool skipCustomListeners, bool skipIoMappings = true) => _api.Delete(processDefinitionId, cascade, skipCustomListeners, skipIoMappings);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionStatisticsResult.cs",
    "content": "﻿namespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionStatisticsResult : StatisticsResult\n    {\n        /// <summary>\n        /// The process definition.\n        /// </summary>\n        public ProcessDefinitionInfo Definition;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/ProcessDefinitionSuspensionState.cs",
    "content": "﻿using Camunda.Api.Client.ProcessInstance;\nusing System;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class ProcessDefinitionSuspensionState : SuspensionState\n    {\n        /// <summary>\n        /// The date on which the given process definition will be activated or suspended. If null, the suspension state of the given process definition is updated immediately.\n        /// </summary>\n        public DateTime? ExecutionDate;\n        /// <summary>\n        /// A Boolean value which indicates whether to activate or suspend also all process instances of the given process definition. \n        /// When the value is set to true, all process instances of the provided process definition will be activated or suspended and when the value is set to false, \n        /// the suspension state of all process instances of the provided process definition will not be updated.\n        /// </summary>\n        public bool IncludeProcessInstances;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/StartProcessInstance.cs",
    "content": "﻿using Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class StartProcessInstance : SubmitStartForm\n    {\n        /// <summary>\n        /// The case instance id the process instance is to be initialized with.\n        /// </summary>\n        public string CaseInstanceId;\n\n        /// <summary>\n        /// Skip execution listener invocation for activities that are started or ended as part of this request.\n        /// </summary>\n        /// <remarks>\n        /// This option is currently only respected when start instructions are submitted via the startInstructions property.\n        /// </remarks>\n        public bool SkipCustomListeners;\n        \n        /// <summary>\n        /// Skip execution of input/output variable mappings for activities that are started or ended as part of this request.\n        /// </summary>\n        /// <remarks>\n        /// This option is currently only respected when start instructions are submitted via the startInstructions property.\n        /// </remarks>\n        public bool SkipIoMappings;\n\n        /// <summary>\n        /// Array of instructions that specify which activities to start the process instance at. If this property is omitted, the process instance starts at its default blank start event.\n        /// The instructions are executed in the order they are in.\n        /// </summary>\n        public List<ProcessInstanceModificationInstruction> StartInstructions;\n\n        /// <summary>\n        /// Indicates if the variables, which was used by the process instance during execution, should be returned.\n        /// </summary>\n        public bool WithVariablesInReturn;\n\n        public new StartProcessInstance SetVariable(string name, object value)\n        {\n            base.SetVariable(name, value);\n            return this;\n        }\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/StatisticsResult.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class StatisticsResult\n    {\n        /// <summary>\n        /// The id of the process definition the results are aggregated for.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The total number of running process instances of this process definition.\n        /// </summary>\n        public int Instances;\n        /// <summary>\n        /// The total number of failed jobs for the running instances.\n        /// </summary>\n        public int FailedJobs;\n\n        public List<IncidentStatisticsResult> Incidents;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessDefinition/SubmitStartForm.cs",
    "content": "﻿using Camunda.Api.Client.ProcessInstance;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessDefinition\n{\n    public class SubmitStartForm\n    {\n        /// <summary>\n        /// Object containing the variables the process is to be initialized with. Each key corresponds to a variable name and each value to a variable value.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        /// <summary>\n        /// The business key the process instance is to be initialized with. The business key uniquely identifies the process instance in the context of the given process definition.\n        /// </summary>\n        public string BusinessKey;\n\n        public SubmitStartForm SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ActivityInstanceInfo.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ActivityInstanceInfo\n    {\n        /// <summary>\n        /// The id of the activity instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the parent activity.\n        /// </summary>\n        public string ParentActivityInstanceId;\n        /// <summary>\n        /// The id of the activity.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The name of the activity.\n        /// </summary>\n        public string ActivityName;\n        /// <summary>\n        /// The type of activity (corresponds to the XML element name in the BPMN 2.0, e.g. 'userTask').\n        /// </summary>\n        public string ActivityType;\n        /// <summary>\n        /// The id of the process instance this activity instance is part of.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the process definition.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// A list of child activity instances.\n        /// </summary>\n        public List<ActivityInstanceInfo> ChildActivityInstances;\n        /// <summary>\n        /// A list of child transition instances. A transition instance represents an execution waiting in an asynchronous continuation.\n        /// </summary>\n        public List<TransitionInstanceInfo> ChildTransitionInstances;\n        /// <summary>\n        /// A list of execution ids.\n        /// </summary>\n        public List<string> ExecutionIds;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/DeleteProcessInstances.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class DeleteProcessInstances\n    {\n        /// <summary>\n        /// A list process instance ids to delete.\n        /// </summary>\n        public List<string> ProcessInstanceIds;\n        /// <summary>\n        /// A process instance query like the request body for <see cref=\"ProcessInstanceService.Query(ProcessInstanceQuery)\"/>.\n        /// </summary>\n        public ProcessInstanceQuery ProcessInstanceQuery;\n        /// <summary>\n        /// A string with delete reason.\n        /// </summary>\n        public string DeleteReason;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/IProcessInstanceRestService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    internal interface IProcessInstanceRestService\n    {\n        [Get(\"/process-instance/{processInstanceId}\")]\n        Task<ProcessInstanceInfo> Get(string processInstanceId);\n\n        [Post(\"/process-instance\")]\n        Task<List<ProcessInstanceInfo>> GetList([Body] ProcessInstanceQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/process-instance/count\")]\n        Task<CountResult> GetListCount([Body] ProcessInstanceQuery query);\n\n        [Get(\"/process-instance/{processInstanceId}/activity-instances\")]\n        Task<ActivityInstanceInfo> GetActivityInstanceTree(string processInstanceId);\n\n        [Delete(\"/process-instance/{processInstanceId}\")]\n        Task DeleteProcessInstance(string processInstanceId, bool skipCustomListeners, bool skipIoMappings, bool skipSubprocesses);\n\n        [Put(\"/process-instance/suspended\")]\n        Task UpdateSuspensionState([Body] ProcessInstanceSuspensionState state);\n\n        [Put(\"/process-instance/{processInstanceId}/suspended\")]\n        Task UpdateSuspensionStateForId(string processInstanceId, [Body] SuspensionState state);\n\n        [Post(\"/process-instance/{processInstanceId}/modification\")]\n        Task ModifyProcessInstance(string processInstanceId, [Body] ProcessInstanceModification modification);\n\n        [Post(\"/process-instance/job-retries\")]\n        Task<BatchInfo> SetRetriesByProcess([Body] JobRetriesByProcess retries);\n\n        [Post(\"/process-instance/delete\")]\n        Task<BatchInfo> DeleteProcessInstanceAsync([Body] DeleteProcessInstances deleteProcessInstances);\n\n        #region Variables\n\n        [Delete(\"/process-instance/{id}/variables/{varName}\")]\n        Task DeleteVariable(string id, string varName);\n\n        [Get(\"/process-instance/{id}/variables/{varName}\")]\n        Task<VariableValue> GetVariable(string id, string varName, bool deserializeValue = true);\n\n        [Get(\"/process-instance/{id}/variables\")]\n        Task<Dictionary<string, VariableValue>> GetVariables(string id, bool deserializeValues = true);\n\n        [Get(\"/process-instance/{id}/variables/{varName}/data\")]\n        Task<HttpResponseMessage> GetBinaryVariable(string id, string varName);\n\n        [Post(\"/process-instance/{id}/variables/{varName}/data\"), Multipart]\n        Task SetBinaryVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);\n\n        [Post(\"/process-instance/{id}/variables\")]\n        Task ModifyVariables(string id, PatchVariables patch);\n\n        [Put(\"/process-instance/{id}/variables/{varName}\")]\n        Task PutVariable(string id, string varName, [Body] VariableValue variable);\n\n        #endregion\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/JobRetriesByProcess.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class JobRetriesByProcess\n    {\n        /// <summary>\n        /// A list of process instance ids to fetch jobs, for which retries will be set.\n        /// </summary>\n        [JsonProperty(\"processInstances\")]\n        public List<string> ProcessInstanceIds = new List<string>();\n        /// <summary>\n        /// A process instance query like the request body for <see cref=\"ProcessInstanceService.Query(ProcessInstanceQuery)\"/>.\n        /// </summary>\n        public ProcessInstanceQuery ProcessInstanceQuery = new ProcessInstanceQuery();\n        /// <summary>\n        /// An integer representing the number of retries.\n        /// </summary>\n        public int Retries;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceInfo.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceInfo\n    {\n        /// <summary>\n        /// The id of the process instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the process definition this instance belongs to.\n        /// </summary>\n        public string DefinitionId;\n        /// <summary>\n        /// The business key of the process instance.\n        /// </summary>\n        public string BusinessKey;\n        /// <summary>\n        /// The id of the case instance associated with the process instance.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// A flag indicating whether the process instance has ended or not. Deprecated: will always be false!\n        /// </summary>\n        public bool Ended;\n        /// <summary>\n        /// A flag indicating whether the process instance is suspended or not.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// The tenant id of the process instance.\n        /// </summary>\n        public string TenantId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceModification.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceModification\n    {\n        /// <summary>\n        /// Skip execution listener invocation for activities that are started or ended as part of this request.\n        /// </summary>\n        public bool SkipCustomListeners = false;\n        /// <summary>\n        /// Skip execution of input/output variable mappings for activities that are started or ended as part of this request.\n        /// </summary>\n        public bool SkipIoMappings = false;\n        /// <summary>\n        /// An array of modification instructions. The instructions are executed in the order they are in. \n        /// </summary>\n        public List<ProcessInstanceModificationInstruction> Instructions = new List<ProcessInstanceModificationInstruction>();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceModificationInstruction.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceModificationInstruction\n    {\n        /// <summary>\n        /// Mandatory.\n        /// </summary>\n        public InstructionType Type;\n        /// <summary>\n        /// Can be used with instructions of types startBeforeActivity, startAfterActivity, and cancel. Specifies the activity the instruction targets.\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// Can be used with instructions of types startTransition. Specifies the sequence flow to start.\n        /// </summary>\n        public string TransitionId;\n        /// <summary>\n        /// Can be used with instructions of type cancel. Specifies the activity instance to cancel. \n        /// Valid values are the activity instance IDs supplied by the <see cref=\"ProcessInstanceResource.GetActivityInstance\"/> request.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// Can be used with instructions of type cancel. Specifies the transition instance to cancel. Valid values are the transition instance IDs supplied by the <see cref=\"ProcessInstanceResource.GetActivityInstance\"/> request.\n        /// </summary>\n        public string TransitionInstanceId;\n        /// <summary>\n        /// Can be used with instructions of type startBeforeActivity, startAfterActivity, and startTransition. Valid values are the activity instance IDs supplied by the <see cref=\"ProcessInstanceResource.GetActivityInstance\"/> request.\n        /// </summary>\n        /// <remarks>\n        /// If there are multiple parent activity instances of the targeted activity, this specifies the ancestor scope in which hierarchy the activity/transition is to be instantiated.\n        /// Example: When there are two instances of a subprocess and an activity contained in the subprocess is to be started, this parameter allows to specifiy under which subprocess instance the activity should be started.\n        /// </remarks>\n        public string AncestorActivityInstanceId;\n        /// <summary>\n        /// Can be used with instructions of type startBeforeActivity, startAfterActivity, and startTransition. An object containing variable key-value pairs.\n        /// </summary>\n        public Dictionary<string, TriggerVariableValue> Variables = new Dictionary<string, TriggerVariableValue>();\n    }\n\n    public enum InstructionType\n    {\n        /// <summary>\n        /// A cancel instruction requests cancellation of a single activity instance or all instances of one activity. \n        /// </summary>\n        Cancel,\n        /// <summary>\n        /// A startBeforeActivity instruction requests to enter a given activity.\n        /// </summary>\n        StartBeforeActivity,\n        /// <summary>\n        /// A startAfterActivity instruction requests to execute the single outgoing sequence flow of a given activity. \n        /// </summary>\n        StartAfterActivity,\n        /// <summary>\n        /// A startTransition instruction requests to execute a specific sequence flow.\n        /// </summary>\n        StartTransition,\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceQuery : SortableQuery<ProcessInstanceSorting, ProcessInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by the deployment the id belongs to.\n        /// </summary>\n        public string DeploymentId;\n        /// <summary>\n        /// Filter by the key of the process definition the instances run on.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Filter by process instance business key.\n        /// </summary>\n        public string BusinessKey;\n        /// <summary>\n        /// Filter by case instance id.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// Filter by the process definition the instances run on.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id.\n        /// </summary>\n        public string SuperProcessInstance;\n        /// <summary>\n        /// Restrict query to all process instances that have the given process instance as a sub process instance. Takes a process instance id.\n        /// </summary>\n        public string SubProcessInstance;\n        /// <summary>\n        /// Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id.\n        /// </summary>\n        public string SuperCaseInstance;\n        /// <summary>\n        /// Restrict query to all process instances that have the given case instance as a sub case instance. Takes a case instance id.\n        /// </summary>\n        public string SubCaseInstance;\n        /// <summary>\n        /// Only include active process instances. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Active;\n        /// <summary>\n        /// Only include suspended process instances. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool Suspended;\n        /// <summary>\n        /// Filter by a list of process instance ids. Must be an array of Strings.\n        /// </summary>\n        public List<string> ProcessInstanceIds;\n        /// <summary>\n        /// Filter by the incident id.\n        /// </summary>\n        public string IncidentId;\n        /// <summary>\n        /// Filter by the incident type.\n        /// </summary>\n        public string IncidentType;\n        /// <summary>\n        /// Filter by the incident message. Exact match.\n        /// </summary>\n        public string IncidentMessage;\n        /// <summary>\n        /// Filter by the incident message that the parameter is a substring of.\n        /// </summary>\n        public string IncidentMessageLike;\n        /// <summary>\n        /// Filter by a list of tenant ids. A process instance must have one of the given tenant ids. Must be a JSON array of Strings.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include process instances which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId;\n        /// <summary>\n        /// Filter by a list of activity ids. A process instance must currently wait in a leaf activity with one of the given activity ids.\n        /// </summary>\n        [JsonProperty(\"activityIdIn\")] \n        public List<string> ActivityIds = new List<string>();\n        /// <summary>\n        /// An array to only include process instances that have variables with certain values. \n        /// The array consists of objects with the three properties name, operator and value.\n        /// Name(String) is the variable name, operator is the comparison operator to be used and value the variable value. \n        /// Value may be String, Number or Boolean.\n        /// </summary>\n        public List<VariableQueryParameter> Variables = new List<VariableQueryParameter>();\n    }\n\n    public enum ProcessInstanceSorting\n    {\n        InstanceId,\n        DefinitionKey,\n        DefinitionId,\n        TenantId,\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceResource\n    {\n        private string _processInstanceId;\n        private IProcessInstanceRestService _api;\n\n        internal ProcessInstanceResource(IProcessInstanceRestService api, string processInstanceId)\n        {\n            _api = api;\n            _processInstanceId = processInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a single process instance according to the ProcessInstance interface in the engine.\n        /// </summary>\n        public Task<ProcessInstanceInfo> Get() => _api.Get(_processInstanceId);\n\n        /// <summary>\n        /// Deletes a running process instance.\n        /// </summary>\n        /// <param name=\"skipCustomListeners\">If set to true, the custom listeners will be skipped.</param>\n        /// <param name=\"skipIoMappings\">If set to true, the input/output mappings will be skipped.</param>\n        /// <param name=\"skipSubprocesses\">If set to true, subprocesses related to deleted processes will be skipped.</param>\n        public Task Delete(bool skipCustomListeners = false, bool skipIoMappings = false, bool skipSubprocesses = false) => _api.DeleteProcessInstance(_processInstanceId, skipCustomListeners, skipIoMappings, skipSubprocesses);\n\n        /// <summary>\n        /// Retrieves an Activity Instance (Tree) for a given process instance.\n        /// </summary>\n        public Task<ActivityInstanceInfo> GetActivityInstance() => _api.GetActivityInstanceTree(_processInstanceId);\n\n        public Task UpdateSuspensionState(bool suspended) => _api.UpdateSuspensionStateForId(_processInstanceId, new SuspensionState() { Suspended = suspended });\n\n        /// <summary>\n        /// Submits a list of modification instructions to change a process instance's execution state.\n        /// </summary>\n        /// <param name=\"modification\"></param>\n        /// <returns></returns>\n        /// <remarks>\n        /// A modification instruction is one of the following:\n        ///  * Starting execution before an activity\n        ///  * Starting execution after an activity on its single outgoing sequence flow\n        ///  * Starting execution on a specific sequence flow\n        ///  * Cancelling an activity instance, transition instance, or all instances (activity or transition) for an activity\n        ///  \n        /// Instructions are executed immediately and in the order they are provided in this request's body. Variables can be provided with every starting instruction.\n        /// </remarks>\n        public Task ModifyProcessInstance(ProcessInstanceModification modification) => _api.ModifyProcessInstance(_processInstanceId, modification);\n\n        public VariableResource Variables => new VariableResource(_api, _processInstanceId);\n\n        public override string ToString() => _processInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceService.cs",
    "content": "﻿using Camunda.Api.Client.Batch;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceService\n    {\n        private IProcessInstanceRestService _api;\n\n        internal ProcessInstanceService(IProcessInstanceRestService api) { _api = api; }\n\n        public QueryResource<ProcessInstanceQuery, ProcessInstanceInfo> Query(ProcessInstanceQuery query = null) =>\n            new QueryResource<ProcessInstanceQuery, ProcessInstanceInfo>(query, _api.GetList, _api.GetListCount);\n\n        /// <param name=\"processInstanceId\">The id of the process instance to be retrieved.</param>\n        public ProcessInstanceResource this[string processInstanceId] => new ProcessInstanceResource(_api, processInstanceId);\n\n        /// <summary>\n        /// Activate or suspend process instances with the given process definition id or process definition key.\n        /// </summary>\n        public Task UpdateSuspensionState(ProcessInstanceSuspensionState state) => _api.UpdateSuspensionState(state);\n\n        /// <summary>\n        /// Deletes multiple process instances asynchronously (batch).\n        /// </summary>\n        public Task<BatchInfo> Delete(DeleteProcessInstances deleteProcessInstances) => _api.DeleteProcessInstanceAsync(deleteProcessInstances);\n\n        /// <summary>\n        /// Create a batch to set retries of jobs associated with given processes asynchronously.\n        /// </summary>\n        public Task<BatchInfo> SetRetriesByProcess(JobRetriesByProcess setJobRetries) => _api.SetRetriesByProcess(setJobRetries);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceSuspensionState.cs",
    "content": "﻿namespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceSuspensionState : SuspensionState\n    {\n        /// <summary>\n        /// The process definition id of the process instances to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The process definition key of the process instances to activate or suspend.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Only activate or suspend process instances of a process definition which belongs to a tenant with the given id.\n        /// </summary>\n        public string ProcessDefinitionTenantId;\n        /// <summary>\n        /// Only activate or suspend process instances of a process definition which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool ProcessDefinitionWithoutTenantId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/ProcessInstanceWithVariables.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class ProcessInstanceWithVariables : ProcessInstanceInfo\n    {\n        /// <summary>\n        /// Object containing a property for each of the latest variables.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/TransitionInstanceInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.ProcessInstance\n{\n    public class TransitionInstanceInfo\n    {\n        /// <summary>\n        /// The id of the transition instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the parent activity.\n        /// </summary>\n        public string ParentActivityInstanceId;\n        /// <summary>\n        /// The id of the process instance.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the process definition.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job)\n        /// </summary>\n        public string ActivityId;\n        /// <summary>\n        /// The name of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job)\n        /// </summary>\n        public string ActivityName;\n        /// <summary>\n        /// The type of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job). Corresponds to the XML element name in the BPMN 2.0, e.g. 'userTask'.\n        /// </summary>\n        public string ActivityType;\n        /// <summary>\n        /// A list of execution ids.\n        /// </summary>\n        public string ExecutionId;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/TriggerVariableValue.cs",
    "content": "﻿\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class TriggerVariableValue : VariableValue\n    {\n        /// <summary>\n        ///\tIndicates whether the variable should be a local variable or not. If set to true, the variable becomes a local variable of the execution entering the target activity.\n        /// </summary>\n        public bool Local;\n\n        protected TriggerVariableValue() { }\n\n        /// <param name=\"value\">The variable's value.</param>\n        /// <param name=\"local\">Indicates whether the variable should be a local variable or not. If set to true, the variable becomes a local variable of the execution entering the target activity.</param>\n        public static TriggerVariableValue FromObject(object value, bool local)\n        {\n            var val = new TriggerVariableValue();\n            val.Local = local;\n            val.SetTypedValue(value);\n            return val;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ProcessInstance/VariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.IO;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.ProcessInstance\n{\n    public class VariableResource : IVariableResource\n    {\n        private string _processInstanceId;\n        private IProcessInstanceRestService _api;\n\n        internal VariableResource(IProcessInstanceRestService api, string processInstanceId)\n        {\n            _api = api;\n            _processInstanceId = processInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves all variables of a given process instance.\n        /// </summary>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetVariables(_processInstanceId, deserializeValues);\n\n        /// <summary>\n        /// Retrieves a variable of a given process instance.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to get.</param>\n        /// <param name=\"deserializeValue\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetVariable(_processInstanceId, variableName, deserializeValue);\n\n        /// <summary>\n        /// Retrieves the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to get.</param>\n        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryVariable(_processInstanceId, variableName)).Content;\n\n        /// <summary>\n        /// Sets a variable of a given process instance.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to set.</param>\n        /// <param name=\"variable\"></param>\n        public Task Set(string variableName, VariableValue variable) => _api.PutVariable(_processInstanceId, variableName, variable);\n\n        /// <summary>\n        /// Sets the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to set.</param>\n        /// <param name=\"data\">The binary data to be set.</param>\n        /// <param name=\"valueType\">The name of the variable type. Either Bytes for a byte array variable or File for a file variable.</param>\n        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryVariable(_processInstanceId, variableName, data, new ValueTypeContent(valueType.ToString()));\n\n        /// <summary>\n        /// Deletes a variable of a given process instance.\n        /// </summary>\n        /// <param name=\"variableName\">The name of the variable to delete.</param>\n        public Task Delete(string variableName) => _api.DeleteVariable(_processInstanceId, variableName);\n\n        /// <summary>\n        /// Updates or deletes the variables of a process instance. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.\n        /// </summary>\n        public Task Modify(PatchVariables patch) => _api.ModifyVariables(_processInstanceId, patch);\n\n        public override string ToString() => _processInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/QueryParameters.cs",
    "content": "﻿using Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public abstract class QueryParameters\n    {\n        public static implicit operator QueryDictionary(QueryParameters query)\n        {\n            QueryDictionary result = new QueryDictionary();\n            var json = JsonConvert.DeserializeObject<Dictionary<string, JToken>>(JsonConvert.SerializeObject(query, CamundaClient.JsonSerializerSettings), CamundaClient.JsonSerializerSettings);\n\n            foreach (var item in json)\n            {\n                string value;\n\n                if (item.Value is JArray) // separate array items by comma\n                    value = string.Join(\",\", item.Value.ToObject<string[]>());\n                else if (item.Value.Type == JTokenType.Boolean) // True/False convert to lowercase\n                    value = item.Value.ToObject<string>().ToLower();\n                else if (item.Value.Type == JTokenType.Date)\n                    value = item.Value.Value<DateTime>().ToJavaISO8601();\n                else\n                    value = item.Value.ToObject<string>();\n\n                if (!string.IsNullOrEmpty(value))\n                    result.Add(item.Key, value);\n            }\n\n            return result;\n        }\n        \n    }\n\n    public class QueryDictionary : Dictionary<string, string>\n    {\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/QueryResource.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client\n{\n    public class QueryResource<TQuery, TResult> where TQuery: new()\n    {\n        private readonly TQuery _query;\n        private readonly Func<TQuery, int?, int?, Task<List<TResult>>> _getList;\n        private readonly Func<TQuery, Task<CountResult>> _getCount;\n\n        internal QueryResource(TQuery query, Func<TQuery, int?, int?, Task<List<TResult>>> getList, Func<TQuery, Task<CountResult>> getCount)\n        {\n            _query = query == null ? new TQuery() : query;\n            _getList = getList ?? throw new ArgumentNullException(nameof(getList));\n            _getCount = getCount ?? throw new ArgumentNullException(nameof(getCount));\n        }\n\n        /// <summary>\n        /// Query for items that fulfill given parameters.\n        /// </summary>\n        public Task<List<TResult>> List() => _getList(_query, null, null);\n\n        /// <summary>\n        /// Query for items that fulfill given parameters.\n        /// </summary>\n        /// <param name=\"firstResult\">Pagination of results. Specifies the index of the first result to return.</param>\n        /// <param name=\"maxResults\">Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.</param>\n        public Task<List<TResult>> List(int firstResult, int maxResults) => _getList(_query, firstResult, maxResults);\n\n        /// <summary>\n        /// Get number of items that fulfill given parameters.\n        /// </summary>\n        /// <returns></returns>\n        public async Task<int> Count() => (await _getCount(_query)).Count;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/RestError.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    public class RestError\n    {\n        public string Type { get; set; }\n        public string Message { get; set; }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/RetriesInfo.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    internal class RetriesInfo\n    {\n        public long Retries;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Signal/ISignalRestService.cs",
    "content": "﻿using Refit;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Signal\n{\n    internal interface ISignalRestService\n    {\n        [Post(\"/signal\")]\n        Task ThrowSignal([Body] Signal signal);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/Signal/Signal.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.Signal\n{\n    public class Signal\n    {\n        /// <summary>\n        /// The name of the signal to deliver.\n        /// </summary>\n        public string Name { get; set; }\n\n        /// <summary>\n        /// Optionally specifies a single execution which is notified by the signal.\n        /// </summary>\n        public string ExecutionId { get; set; }\n\n        /// <summary>\n        /// A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables { get; set; } = new Dictionary<string, VariableValue>();\n\n        /// <summary>\n        /// Specifies a tenant to deliver the signal. The signal can only be received on executions or process definitions which belongs to the given tenant.\n        /// </summary>\n        public string TenantId { get; set; }\n\n        /// <summary>\n        /// If true the signal can only be received on executions or process definitions which belongs to no tenant. Value may not be false as this is the default behavior.\n        /// </summary>\n        public bool WithoutTenantId { get; set; }\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/Signal/SignalService.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Signal\n{\n    public class SignalService\n    {\n        private ISignalRestService _api;\n\n        internal SignalService(ISignalRestService api)\n        {\n            _api = api;\n        }\n\n        /// <summary>\n        /// A signal is an event of global scope (broadcast semantics) and is delivered to all active handlers.\n        /// Internally this maps to the engine’s signal event received builder method RuntimeService#createSignalEvent().\n        /// </summary>\n        public Task ThrowSignal(Signal signal) => _api.ThrowSignal(signal);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/SortOrder.cs",
    "content": "﻿using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client\n{\n    public enum SortOrder\n    {\n        /// <summary>\n        /// Ascending order\n        /// </summary>\n        [EnumMember(Value = \"asc\")]\n        Ascending,\n\n        /// <summary>\n        /// Descending order\n        /// </summary>\n        [EnumMember(Value = \"desc\")]\n        Descending\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/SortableQuery.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public abstract class SortableQuery<TSortingEnum, TQuery> \n        where TQuery: SortableQuery<TSortingEnum, TQuery>\n        where TSortingEnum : struct, IConvertible\n    {\n        /// <summary>\n        /// Array of criteria to sort the result by. The position in the array identifies the rank of an ordering, i.e. whether it is primary, secondary, etc.\n        /// </summary>\n        public List<SortingInfo<TSortingEnum>> Sorting = new List<SortingInfo<TSortingEnum>>();\n\n        public TQuery Sort(TSortingEnum sortBy, SortOrder sortOrder = SortOrder.Ascending)\n        {\n            Sorting.Add(new SortingInfo<TSortingEnum>() { SortBy = sortBy, SortOrder = sortOrder });\n            return (TQuery)this;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/SortingInfo.cs",
    "content": "﻿\nusing System;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client\n{\n    public class SortingInfo<TEnum> where TEnum: struct, IConvertible\n    {\n        /// <summary>\n        /// Mandatory. Sort the results lexicographically by a given criterion.\n        /// </summary>\n        public TEnum SortBy;\n        /// <summary>\n        /// Mandatory. Sort the results in a given order. Values may be asc for ascending order or desc for descending order.\n        /// </summary>\n        public SortOrder SortOrder;\n\n        public Dictionary<string, object> Parameters;\n\n        public override string ToString() => SortBy.ToString() + \" \" + SortOrder;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/StringEnumConverter.cs",
    "content": "﻿using Newtonsoft.Json.Serialization;\n\nnamespace Camunda.Api.Client\n{\n    internal class StringEnumConverter : Newtonsoft.Json.Converters.StringEnumConverter\n    {\n        private static CamelCaseNamingStrategy _camelCaseNamingStrategy = new CamelCaseNamingStrategy();\n\n        public StringEnumConverter()\n        {\n            NamingStrategy = _camelCaseNamingStrategy;\n            AllowIntegerValues = false; // integer values are not allowed because they dont't have API origin\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/StringExtensions.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Linq;\n\nnamespace Camunda.Api.Client\n{\n    internal static class StringExtensions\n    {\n        public static string Join(this IEnumerable<string> str)\n        {\n            if (str == null || str.Count() == 0)\n                return null;\n            else\n                return string.Join(\",\", str);\n        }\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/SuspensionState.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    public class SuspensionState\n    {\n        public bool Suspended;\n\n        public override string ToString() => Suspended.ToString();\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/Tenant/ITenantRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Tenant\n{\n    internal interface ITenantRestService\n    {\n        [Get(\"/tenant\")]\n        Task<List<TenantInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/tenant/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Post(\"/tenant/create\")]\n        Task Create([Body] TenantInfo tenant);\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/Tenant/TenantInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.Tenant\n{\n    public class TenantInfo\n    {\n        /// <summary>\n        /// The id of the tenant.\n        /// </summary>\n        public string Id;\n\n        /// <summary>\n        /// The name of the tenant.\n        /// </summary>\n        public string Name;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/Tenant/TenantQuery.cs",
    "content": "﻿namespace Camunda.Api.Client.Tenant\n{\n    public class TenantQuery : QueryParameters\n    {\n        // TODO\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/Tenant/TenantService.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.Tenant\n{\n    public class TenantService\n    {\n        private ITenantRestService _api;\n\n        internal TenantService(ITenantRestService api) { _api = api; }\n\n        public QueryResource<TenantQuery, TenantInfo> Query(TenantQuery query = null) =>\n            new QueryResource<TenantQuery, TenantInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        public Task Create(TenantInfo tenant) =>\n            _api.Create(tenant);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/CreateUser.cs",
    "content": "﻿namespace Camunda.Api.Client.User\n{\n    internal class CreateUser\n    {\n        public UserProfileInfo Profile;\n\n        public UserCredentialsInfo Credentials;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/IUserRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.User\n{\n    internal interface IUserRestService\n    {\n        [Get(\"/user\")]\n        Task<List<UserProfileInfo>> GetList(QueryDictionary query, int? firstResult, int? maxResults);\n\n        [Get(\"/user/count\")]\n        Task<CountResult> GetListCount(QueryDictionary query);\n\n        [Get(\"/user/{id}/profile\")]\n        Task<UserProfileInfo> GetProfile(string id);\n\n        [Put(\"/user/{id}/profile\")]\n        Task UpdateProfile(string id, [Body] UserProfileInfo profile);\n\n        [Put(\"/user/{id}/credentials\")]\n        Task UpdateCredentials(string id, [Body] UserCredentialsInfo credentials);\n\n        [Delete(\"/user/{id}\")]\n        Task Delete(string id);\n\n        [Post(\"/user/create\")]\n        Task Create([Body] CreateUser createUser);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/UserCredentialsInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.User\n{\n    internal class UserCredentialsInfo\n    {\n        /// <summary>\n        /// The user's new password.\n        /// </summary>\n        public string Password;\n        /// <summary>\n        /// The password of the current authenticated user who changes the password of the user.\n        /// </summary>\n        public string AuthenticatedUserPassword;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/UserProfileInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.User\n{\n    public class UserProfileInfo\n    {\n        /// <summary>\n        /// The id of the user.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The firstname of the user.\n        /// </summary>\n        public string FirstName;\n        /// <summary>\n        /// The lastname of the user.\n        /// </summary>\n        public string LastName;\n        /// <summary>\n        /// The email of the user.\n        /// </summary>\n        public string Email;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/UserQuery.cs",
    "content": "﻿namespace Camunda.Api.Client.User\n{\n    public class UserQuery : QueryParameters\n    {\n        /// <summary>\n        /// Filter by the id of the user.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// Filter by the firstname of the user.\n        /// </summary>\n        public string FirstName;\n        /// <summary>\n        /// Filter by the firstname that the parameter is a substring of.\n        /// </summary>\n        public string FirstNameLike;\n        /// <summary>\n        /// Filter by the lastname of the user.\n        /// </summary>\n        public string LastName;\n        /// <summary>\n        /// Filter by the lastname that the parameter is a substring of.\n        /// </summary>\n        public string LastNameLike;\n        /// <summary>\n        /// Filter by the email of the user.\n        /// </summary>\n        public string Email;\n        /// <summary>\n        /// Filter by the email that the parameter is a substring of.\n        /// </summary>\n        public string EmailLike;\n        /// <summary>\n        /// Filter for users which are members of a group.\n        /// </summary>\n        public string MemberOfGroup;\n        /// <summary>\n        /// Filter for users which are members of the given tenant.\n        /// </summary>\n        public string MemberOfTenant;\n\n        /// <summary>\n        /// Sort the results lexicographically by a given criterion. Must be used in conjunction with the <see cref=\"SortOrder\"/>.\n        /// </summary>\n        public UserSorting SortBy;\n        /// <summary>\n        /// Sort the results in a given order. Must be used in conjunction with the <see cref=\"SortBy\"/>.\n        /// </summary>\n        public SortOrder SortOrder;\n    }\n\n    public enum UserSorting\n    {\n        UserId,\n        FirstName,\n        LastName,\n        Email,\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/User/UserResource.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.User\n{\n    public class UserResource\n    { \n        private string _userId;\n        private IUserRestService _api;\n\n        internal UserResource(IUserRestService api, string userId)\n        {\n            _api = api;\n            _userId = userId;\n        }\n\n        /// <summary>\n        /// Retrieves a single user’s profile.\n        /// </summary>\n        public Task<UserProfileInfo> Get() => _api.GetProfile(_userId);\n\n        /// <summary>\n        /// Deletes a user by id.\n        /// </summary>\n        public Task Delete() => _api.Delete(_userId);\n\n        /// <summary>\n        /// Updates the profile information of an already existing user.\n        /// </summary>\n        public Task Update(UserProfileInfo profile) => _api.UpdateProfile(_userId, profile);\n\n        /// <summary>\n        /// Updates a user’s credentials (password).\n        /// </summary>\n        /// <param name=\"password\">The user's new password.</param>\n        /// <param name=\"authenticatedUserPassword\">The password of the current authenticated user who changes the password of the user.</param>\n        public Task SetPassword(string password, string authenticatedUserPassword) => \n            _api.UpdateCredentials(_userId, new UserCredentialsInfo() { AuthenticatedUserPassword = authenticatedUserPassword, Password = password });\n\n        public override string ToString() => _userId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/User/UserService.cs",
    "content": "﻿using System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.User\n{\n    public class UserService\n    {\n        private IUserRestService _api;\n\n        internal UserService(IUserRestService api) { _api = api; }\n\n        public QueryResource<UserQuery, UserProfileInfo> Query(UserQuery query = null) =>\n            new QueryResource<UserQuery, UserProfileInfo>(\n                query, \n                (q, f, m) => _api.GetList(q, f, m),\n                q => _api.GetListCount(q));\n\n        /// <param name=\"userId\">The id of the user to be retrieved.</param>\n        public UserResource this[string userId] => new UserResource(_api, userId);\n\n        /// <summary>\n        /// Create a new user.\n        /// </summary>\n        /// <param name=\"profile\">The user's profile</param>\n        /// <param name=\"password\">The user's password.</param>\n        /// <returns></returns>\n        public Task Create(UserProfileInfo profile, string password) => \n            _api.Create(new CreateUser() { Profile = profile, Credentials = new UserCredentialsInfo { Password = password } });\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserInfo.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    internal class UserInfo\n    {\n        public string UserId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/AttachmentContent.cs",
    "content": "﻿using Iana;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class AttachmentContent : StreamContent\n    {\n        /// <param name=\"stream\">The binary data to be set.</param>\n        public AttachmentContent(Stream stream) : base(stream)\n        {\n            Headers.ContentDisposition = new ContentDispositionHeaderValue(\"form-data\") { Name = \"content\" };\n            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Application.OctetStream);\n            Headers.Add(\"Content-Transfer-Encoding\", \"binary\");\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/AttachmentInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.UserTask\n{\n    public class AttachmentInfo\n    {\n        public string Id;\n        public string Name;\n        public string Description;\n        public string TaskId;\n        public string Type;\n        public string Url;\n\n        public override string ToString() => Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/Comment.cs",
    "content": "﻿namespace Camunda.Api.Client.UserTask\n{\n    public class Comment\n    {\n        /// <summary>\n        /// The content of the comment.\n        /// </summary>\n        public string Message;\n\n        public override string ToString() => Message;\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/UserTask/CommentInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class CommentInfo : Comment\n    {\n        /// <summary>\n        /// The id of the task comment.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the user who created the comment.\n        /// </summary>\n        public string UserId;\n        /// <summary>\n        /// The time when the comment was created.\n        /// </summary>\n        public DateTime Time;\n        /// <summary>\n        /// The id of the task to which the comment belongs.\n        /// </summary>\n        public string TaskId;\n\n        public override string ToString() => base.ToString() ?? Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/CompleteTask.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class CompleteTask : ResolveTask\n    {\n        /// <summary>\n        /// if set to true, API will return variables in response. Default behaviour is \"false\"\n        /// </summary>\n        public bool? WithVariablesInReturn { get; set; } = null;\n\n        public new CompleteTask SetVariable(string name, object value)\n        {\n            base.SetVariable(name, value);\n            return this;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/DelegationState.cs",
    "content": "﻿using System.Runtime.Serialization;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public enum DelegationState\n    {\n        /// <summary>\n        /// The owner delegated the task and wants to review the result after the assignee has resolved the task. \n        /// When the assignee completes the task, the task is marked as RESOLVED and sent back to the owner. \n        /// When that happens, the owner is set as the assignee so that the owner gets this task back in the ToDo.\n        /// </summary>\n        [EnumMember(Value = \"PENDING\")]\n        Pending,\n\n        /// <summary>\n        /// The assignee has resolved the task, the assignee was set to the owner again and the owner now finds this task back in the ToDo list for review.\n        /// The owner now is able to complete the task. \n        /// </summary>\n        [EnumMember(Value = \"RESOLVED\")]\n        Resolved\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/IUserTaskRestService.cs",
    "content": "﻿using Camunda.Api.Client.ProcessDefinition;\nusing Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    internal interface IUserTaskRestService\n    {\n        [Get(\"/task/{id}\")]\n        Task<UserTaskInfo> Get(string id);\n\n        [Post(\"/task\")]\n        Task<List<UserTaskInfo>> GetList([Body] TaskQuery query, int? firstResult, int? maxResults);\n\n        [Post(\"/task/count\")]\n        Task<CountResult> GetListCount([Body] TaskQuery query);\n\n        [Get(\"/task/{id}/form\")]\n        Task<FormInfo> GetForm(string id);\n\n        [Post(\"/task/{id}/complete\")]\n        Task CompleteTask(string id, [Body] CompleteTask completeTask);\n\n        [Post(\"/task/{id}/complete\")]\n        Task<Dictionary<string, VariableValue>> CompleteTaskAndFetchVariables(string id, [Body] CompleteTask completeTask);\n\n        [Post(\"/task/{id}/resolve\")]\n        Task ResolveTask(string id, [Body] ResolveTask resolveTask);\n\n        [Post(\"/task/{id}/submit-form\")]\n        Task SubmitFormTask(string id, [Body] CompleteTask completeTask);\n\n        [Post(\"/task/{id}/submit-form\")]\n        Task<Dictionary<string, VariableValue>> SubmitFormTaskAndFetchVariables(string id, [Body] CompleteTask completeTask);\n\n        [Get(\"/task/{id}/rendered-form\")]\n        Task<string> GetRenderedForm(string id);\n\n        [Post(\"/task/{id}/claim\")]\n        Task ClaimTask(string id, [Body] UserInfo user);\n\n        [Post(\"/task/{id}/assignee\")]\n        Task SetAssignee(string id, [Body] UserInfo user);\n\n        [Post(\"/task/{id}/unclaim\")]\n        Task UnclaimTask(string id);\n\n        [Post(\"/task/{id}/delegate\")]\n        Task DelegateTask(string id, [Body] UserInfo user);\n\n        [Delete(\"/task/{id}\")]\n        Task DeleteTask(string id);\n\n        [Get(\"/task/{id}/form-variables\")]\n        Task<Dictionary<string, VariableValue>> GetFormVariables(string id, string variableNames, bool deserializeValues = true);\n\n        [Post(\"/task/create\")]\n        Task CreateTask([Body] UserTask task);\n\n        [Put(\"/task/{id}\")]\n        Task UpdateTask(string id, [Body] UserTask task);\n\n        [Get(\"/task/{id}/comment\")]\n        Task<List<CommentInfo>> GetComments(string id);\n\n        [Get(\"/task/{id}/comment/{commentId}\")]\n        Task<CommentInfo> GetComment(string id, string commentId);\n\n        [Post(\"/task/{id}/comment/create\")]\n        Task<CommentInfo> CreateComment(string id, [Body] Comment comment);\n\n\n        [Get(\"/task/{id}/attachment\")]\n        Task<List<AttachmentInfo>> GetAttachments(string id);\n\n        [Get(\"/task/{id}/attachment/{attachmentId}\")]\n        Task<AttachmentInfo> GetAttachment(string id, string attachmentId);\n\n        [Get(\"/task/{id}/attachment/{attachmentId}/data\")]\n        Task<HttpResponseMessage> GetAttachmentData(string id, string attachmentId);\n\n        [Delete(\"/task/{id}/attachment/{attachmentId}\")]\n        Task DeleteAttachment(string id, string attachmentId);\n\n        [Post(\"/task/{id}/attachment/create\"), Multipart]\n        Task<AttachmentInfo> AddAttachment(string id, \n            PlainTextContent attachmentName, PlainTextContent attachmentDescription, PlainTextContent attachmentType, PlainTextContent url,\n            AttachmentContent content);\n\n        #region Identity Link\n\n        [Get(\"/task/{id}/identity-links\")]\n        Task<List<IdentityLink>> GetIdentityLinks(string id, string type);\n\n        [Post(\"/task/{id}/identity-links\")]\n        Task AddIdentityLink(string id, [Body] IdentityLink identityLink);\n\n        [Post(\"/task/{id}/identity-links/delete\")]\n        Task DeleteIdentityLink(string id, [Body] IdentityLink identityLink);\n\n        #endregion\n\n        #region Variables\n\n        [Delete(\"/task/{id}/variables/{varName}\")]\n        Task DeleteVariable(string id, string varName);\n\n        [Get(\"/task/{id}/variables/{varName}\")]\n        Task<VariableValue> GetVariable(string id, string varName, bool deserializeValue = true);\n\n        [Get(\"/task/{id}/variables\")]\n        Task<Dictionary<string, VariableValue>> GetVariables(string id, bool deserializeValues = true);\n\n        [Get(\"/task/{id}/variables/{varName}/data\")]\n        Task<HttpResponseMessage> GetBinaryVariable(string id, string varName);\n\n        [Post(\"/task/{id}/variables/{varName}/data\"), Multipart]\n        Task SetBinaryVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);\n\n        [Post(\"/task/{id}/variables\")]\n        Task ModifyVariables(string id, PatchVariables patch);\n\n        [Put(\"/task/{id}/variables/{varName}\")]\n        Task PutVariable(string id, string varName, [Body] VariableValue variable);\n\n        #endregion\n\n        #region Local Variables\n\n        [Delete(\"/task/{id}/localVariables/{varName}\")]\n        Task DeleteLocalVariable(string id, string varName);\n\n        [Get(\"/task/{id}/localVariables/{varName}\")]\n        Task<VariableValue> GetLocalVariable(string id, string varName, bool deserializeValue = true);\n\n        [Get(\"/task/{id}/localVariables\")]\n        Task<Dictionary<string, VariableValue>> GetLocalVariables(string id, bool deserializeValues = true);\n\n        [Get(\"/task/{id}/localVariables/{varName}/data\")]\n        Task<HttpResponseMessage> GetBinaryLocalVariable(string id, string varName);\n\n        [Post(\"/task/{id}/localVariables/{varName}/data\"), Multipart]\n        Task SetBinaryLocalVariable(string id, string varName, BinaryDataContent data, ValueTypeContent valueType);\n\n        [Post(\"/task/{id}/localVariables\")]\n        Task ModifyLocalVariables(string id, PatchVariables patch);\n\n        [Put(\"/task/{id}/localVariables/{varName}\")]\n        Task PutLocalVariable(string id, string varName, [Body] VariableValue variable);\n\n        #endregion\n\n        #region Report\n\n        [Get(\"/task/report/candidate-group-count\")]\n        Task<List<TaskCountByCandidateGroupResult>> GetTaskCountByCandidateGroup();\n\n        #endregion\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/IdentityLink.cs",
    "content": "﻿using System;\nusing System.ComponentModel;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class IdentityLink\n    {\n        /// <summary>\n        /// The id of the user to link to the task. If you set this parameter, you have to omit groupId.\n        /// </summary>\n        public string UserId;\n        /// <summary>\n        /// The id of the group to link to the task. If you set this parameter, you have to omit userId.\n        /// </summary>\n        public string GroupId;\n        /// <summary>\n        /// The type of the identity link. Can be any defined type. assignee and owner are reserved types for the task assignee and owner.\n        /// <seealso cref=\"IdentityLinkType\"/>\n        /// </summary>\n        public string Type;\n\n        public override string ToString()\n        {\n            return UserId ?? GroupId ?? Type;\n        }\n    }\n\n    /// <summary>\n    /// Definícia typov pre <see cref=\"IdentityLink.Type\"/>\n    /// </summary>\n    public static class IdentityLinkType\n    {\n        public const string Assignee = \"assignee\";\n        public const string Candidate = \"candidate\";\n        public const string Owner = \"owner\";\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/LocalVariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class LocalVariableResource : IVariableResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal LocalVariableResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        /// <summary>\n        /// Retrieves all variables of a given task.\n        /// </summary>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetLocalVariables(_taskId, deserializeValues);\n        /// <summary>\n        /// Retrieves a variable from the context of a given task.\n        /// </summary>\n        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetLocalVariable(_taskId, variableName, deserializeValue);\n        /// <summary>\n        /// Retrieves a binary variable from the context of a given task. Applicable for byte array and file variables.\n        /// </summary>\n        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryLocalVariable(_taskId, variableName)).Content;\n        /// <summary>\n        /// Sets a variable in the context of a given task.\n        /// </summary>\n        public Task Set(string variableName, VariableValue variable) => _api.PutLocalVariable(_taskId, variableName, variable);\n        /// <summary>\n        /// Sets the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryLocalVariable(_taskId, variableName, data, new ValueTypeContent(valueType.ToString()));\n        /// <summary>\n        /// Removes a variable from a task.\n        /// </summary>\n        public Task Delete(string variableName) => _api.DeleteLocalVariable(_taskId, variableName);\n        /// <summary>\n        /// Updates or deletes the variables in the context of a task. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.\n        /// </summary>\n        public Task Modify(PatchVariables patch) => _api.ModifyLocalVariables(_taskId, patch);\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/ResolveTask.cs",
    "content": "﻿using System.Collections.Generic;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class ResolveTask\n    {\n        /// <summary>\n        /// Object containing variable key-value pairs.\n        /// </summary>\n        public Dictionary<string, VariableValue> Variables = new Dictionary<string, VariableValue>();\n\n        public ResolveTask SetVariable(string name, object value)\n        {\n            Variables = (Variables ?? new Dictionary<string, VariableValue>()).Set(name, value);\n            return this;\n        }\n    }\n}"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskAttachmentResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class TaskAttachmentResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal TaskAttachmentResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        /// <summary>\n        /// Gets the attachments for a task.\n        /// </summary>\n        public Task<List<AttachmentInfo>> GetAll() => _api.GetAttachments(_taskId);\n\n        /// <summary>\n        /// Retrieves a single task attachment by task id and attachment id.\n        /// </summary>\n        public Task<AttachmentInfo> Get(string attachmentId) => _api.GetAttachment(_taskId, attachmentId);\n\n        /// <summary>\n        /// Retrieves the binary content of a single task attachment by task id and attachment id.\n        /// </summary>\n        public async Task<HttpContent> GetData(string attachmentId) => (await _api.GetAttachmentData(_taskId, attachmentId)).Content;\n\n        /// <summary>\n        /// Removes an attachment from a task.\n        /// </summary>\n        public Task Delete(string attachmentId) => _api.DeleteAttachment(_taskId, attachmentId);\n\n        /// <summary>\n        /// Create an attachment for a task.\n        /// </summary>\n        /// <param name=\"name\">The name of the attachment.</param>\n        /// <param name=\"description\">The description of the attachment.</param>\n        /// <param name=\"type\">The type of the attachment. Can be MIME type or any other indication.</param>\n        /// <param name=\"url\">The url to the remote content of the attachment.</param>\n        /// <param name=\"content\">The content of the attachment.</param>\n        public Task<AttachmentInfo> Create(string name, string description, string type, string url, AttachmentContent content) => \n            _api.AddAttachment(_taskId, new PlainTextContent(\"attachment-name\", name), new PlainTextContent(\"attachment-description\", description),\n                new PlainTextContent(\"attachment-type\", type), new PlainTextContent(\"url\", url), content);\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskCommentResource.cs",
    "content": "﻿using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class TaskCommentResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal TaskCommentResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        /// <summary>\n        /// Gets the comments for a task.\n        /// </summary>\n        public Task<List<CommentInfo>> GetAll() => _api.GetComments(_taskId);\n        /// <summary>\n        /// Retrieves a single task comment by task id and comment id.\n        /// </summary>\n        public Task<CommentInfo> Get(string commentId) => _api.GetComment(_taskId, commentId);\n        /// <summary>\n        /// Create a comment for a task.\n        /// </summary>\n        /// <param name=\"message\">The message of the task comment to create.</param>\n        public Task<CommentInfo> Create(string message) => _api.CreateComment(_taskId, new Comment() { Message = message });\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskCountByCandidateGroupResult.cs",
    "content": "﻿namespace Camunda.Api.Client.UserTask\n{\n    public class TaskCountByCandidateGroupResult\n    {\n        /// <summary>\n        /// The name of the candidate group. If there are tasks without a group name, the value will be <c>null</c>.\n        /// </summary>\n        public string GroupName;\n        /// <summary>\n        /// The number of tasks which have the group name as candidate group.\n        /// </summary>\n        public int TaskCount;\n\n        public override string ToString()\n        {\n            if (string.IsNullOrEmpty(GroupName))\n                return TaskCount.ToString();\n            else\n                return $\"{GroupName}: {TaskCount}\";\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskIdentityLinkResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class TaskIdentityLinkResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal TaskIdentityLinkResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        /// <summary>\n        /// Gets the identity links for a task, which are the users and groups that are in some relation to it (including assignee and owner).\n        /// </summary>\n        /// <param name=\"type\">Filter by the type of links to include.</param>\n        public Task<List<IdentityLink>> GetAll(string type) => _api.GetIdentityLinks(_taskId, type);\n\n        /// <summary>\n        /// Gets the identity links for a task, which are the users and groups that are in some relation to it (including assignee and owner).\n        /// </summary>\n        public Task<List<IdentityLink>> GetAll() => GetAll(null);\n\n        /// <summary>\n        /// Adds an identity link to a task. Can be used to link any user or group to a task and specify and relation.\n        /// </summary>\n        public Task Add(IdentityLink identityLink) => _api.AddIdentityLink(_taskId, identityLink);\n\n        /// <summary>\n        /// Removes an identity link from a task.\n        /// </summary>\n        public Task Delete(IdentityLink identityLink) => _api.DeleteIdentityLink(_taskId, identityLink);\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System;\nusing System.Linq;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class TaskQuery\n    {\n        /// <summary>\n        /// Restrict to tasks that belong to process instances with the given business key.\n        /// </summary>\n        public string ProcessInstanceBusinessKey;\n        /// <summary>\n        /// Restrict to tasks that belong to process instances with one of the give business keys.\n        /// </summary>\n        [JsonProperty(\"processInstanceBusinessKeyIn\")]\n        public List<string> ProcessInstanceBusinessKeys = new List<string>();\n        /// <summary>\n        /// Restrict to tasks that have a process instance business key that has the parameter value as a substring.\n        /// </summary>\n        public string ProcessInstanceBusinessKeyLike;\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with the given key.\n        /// </summary>\n        public string ProcessDefinitionKey;\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with one of the given keys.\n        /// </summary>\n        [JsonProperty(\"processDefinitionKeyIn\")]\n        public List<string> ProcessDefinitionKeys = new List<string>();\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with the given id.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// Restrict to tasks that belong to an execution with the given id.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// Only include tasks which belong to one of the passed activity instance ids.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceIds = new List<string>();\n        /// <summary>\n        /// Restrict to tasks that belong to a process definition with the given name.\n        /// </summary>\n        public string ProcessDefinitionName;\n        /// <summary>\n        /// Restrict to tasks that have a process definition name that has the parameter value as a substring.\n        /// </summary>\n        public string ProcessDefinitionNameLike;\n        /// <summary>\n        /// Restrict to tasks that belong to process instances with the given id.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// Restrict to tasks that the given user is assigned to.\n        /// </summary>\n        public string Assignee;\n        /// <summary>\n        /// Restrict to tasks that the user described by the given expression is assigned to. See the user guide for more information on available functions.\n        /// </summary>\n        public string AssigneeExpression;\n        /// <summary>\n        /// Restrict to tasks that have an assignee that has the parameter value as a substring.\n        /// </summary>\n        public string AssigneeLike;\n        /// <summary>\n        /// Restrict to tasks that have an assignee that has the parameter value described by the given expression as a substring. See the user guide for more information on available functions.\n        /// </summary>\n        public string AssigneeLikeExpression;\n        /// <summary>\n        /// Only include tasks that are offered to the given group.\n        /// </summary>\n        public string CandidateGroup;\n        /// <summary>\n        /// Only include tasks that are offered to the group described by the given expression. See the user guide for more information on available functions.\n        /// </summary>\n        public string CandidateGroupExpression;\n        /// <summary>\n        /// Only include tasks that are offered to the given user.\n        /// </summary>\n        public string CandidateUser;\n        /// <summary>\n        /// Only include tasks that are offered to the user described by the given expression. See the user guide for more information on available functions.\n        /// </summary>\n        public string CandidateUserExpression;\n        /// <summary>\n        /// Also include tasks that are assigned to users in candidate queries. Default is to only include tasks that are not assigned to any user if you query by candidate user or group(s).\n        /// </summary>\n        public bool? IncludeAssignedTasks;\n        /// <summary>\n        /// Restrict to tasks that have the given key.\n        /// </summary>\n        public string TaskDefinitionKey;\n        /// <summary>\n        /// Restrict to tasks that have one of the given keys.\n        /// </summary>\n        [JsonProperty(\"taskDefinitionKeyIn\")]\n        public List<string> TaskDefinitionKeys = new List<string>();\n        /// <summary>\n        /// Restrict to tasks that have a key that has the parameter value as a substring.\n        /// </summary>\n        public string TaskDefinitionKeyLike;\n        /// <summary>\n        /// Restrict to tasks that have the given description.\n        /// </summary>\n        public string Description;\n        /// <summary>\n        /// Restrict to tasks that have a description that has the parameter value as a substring.\n        /// </summary>\n        public string DescriptionLike;\n        /// <summary>\n        /// Only include tasks that the given user is involved in. A user is involved in a task if an identity link exists between task and user (e.g., the user is the assignee).\n        /// </summary>\n        public string InvolvedUser;\n        /// <summary>\n        /// Only include tasks that the user described by the given expression is involved in. A user is involved in a task if an identity link exists between task and user (e.g., the user is the assignee). See the user guide for more information on available functions.\n        /// </summary>\n        public string InvolvedUserExpression;\n        /// <summary>\n        /// Restrict to tasks that have a lower or equal priority.\n        /// </summary>\n        public int? MaxPriority;\n        /// <summary>\n        /// Restrict to tasks that have a higher or equal priority.\n        /// </summary>\n        public int? MinPriority;\n        /// <summary>\n        /// Restrict to tasks that have the given name.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// Restrict to tasks that have a name with the given parameter value as substring.\n        /// </summary>\n        public string NameLike;\n        /// <summary>\n        /// Restrict to tasks that the given user owns.\n        /// </summary>\n        public string Owner;\n        /// <summary>\n        /// Restrict to tasks that the user described by the given expression owns. See the user guide for more information on available functions.\n        /// </summary>\n        public string OwnerExpression;\n        /// <summary>\n        /// Restrict to tasks that have the given priority.\n        /// </summary>\n        public int? Priority;\n        /// <summary>\n        /// Restrict query to all tasks that are sub tasks of the given task. Takes a task id\n        /// </summary>\n        public string ParentTaskId;\n        /// <summary>\n        /// If set to true, restricts the query to all tasks that are unassigned.\n        /// </summary>\n        public bool? Unassigned;\n        /// <summary>\n        /// If set to true, restricts the query to all tasks that are assigned.\n        /// </summary>\n        public bool? Assigned;\n        /// <summary>\n        /// Only include active tasks. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Active;\n        /// <summary>\n        /// Only include suspended tasks. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? Suspended;\n        /// <summary>\n        /// Restrict to tasks that belong to a case definition with the given key.\n        /// </summary>\n        public string CaseDefinitionKey;\n        /// <summary>\n        /// Restrict to tasks that belong to a case definition with the given id.\n        /// </summary>\n        public string CaseDefinitionId;\n        /// <summary>\n        /// Restrict to tasks that belong to a case definition with the given name.\n        /// </summary>\n        public string CaseDefinitionName;\n        /// <summary>\n        /// Restrict to tasks that have a case definition name that has the parameter value as a substring.\n        /// </summary>\n        public string CaseDefinitionNameLike;\n        /// <summary>\n        /// Restrict to tasks that belong to case instances with the given id.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// Restrict to tasks that belong to case instances with the given business key.\n        /// </summary>\n        public string CaseInstanceBusinessKey;\n        /// <summary>\n        /// Restrict to tasks that have a case instance business key that has the parameter value as a substring.\n        /// </summary>\n        public string CaseInstanceBusinessKeyLike;\n        /// <summary>\n        /// Restrict to tasks that belong to a case execution with the given id.\n        /// </summary>\n        public string CaseExecutionId;\n\n        /// <summary>\n        /// Restrict to tasks that are due after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? DueAfter;\n        /// <summary>\n        /// Restrict to tasks that are due after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string DueAfterExpression;\n        /// <summary>\n        /// Restrict to tasks that are due before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? DueBefore;\n        /// <summary>\n        /// Restrict to tasks that are due before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string DueBeforeExpression;\n        /// <summary>\n        /// Restrict to tasks that are due on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? DueDate;\n        /// <summary>\n        /// Restrict to tasks that are due on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string DueDateExpression;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date after the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? FollowUpAfter;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string FollowUpAfterExpression;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? FollowUpBefore;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string FollowUpBeforeExpression;\n        /// <summary>\n        /// Restrict to tasks that have no followUp date or a followUp date before the given date. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public DateTime? FollowUpBeforeOrNotExistent;\n        /// <summary>\n        /// Restrict to tasks that have no followUp date or a followUp date before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string FollowUpBeforeOrNotExistentExpression;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date on the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? FollowUpDate;\n        /// <summary>\n        /// Restrict to tasks that have a followUp date on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string FollowUpDateExpression;\n        /// <summary>\n        /// Restrict to tasks that were created after the given date.\n        /// </summary>\n        public DateTime? CreatedAfter;\n        /// <summary>\n        /// Restrict to tasks that were created after the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string CreatedAfterExpression;\n        /// <summary>\n        /// Restrict to tasks that were created before the given date. The date must have the format yyyy-MM-dd'T'HH:mm:ss, e.g., 2013-01-23T14:42:45.\n        /// </summary>\n        public DateTime? CreatedBefore;\n        /// <summary>\n        /// Restrict to tasks that were created before the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string CreatedBeforeExpression;\n        /// <summary>\n        /// Restrict to tasks that were created on the given date.\n        /// </summary>\n        public DateTime? CreatedOn;\n        /// <summary>\n        /// Restrict to tasks that were created on the date described by the given expression. See the user guide for more information on available functions. The expression must evaluate to a java.util.Date or org.joda.time.DateTime object.\n        /// </summary>\n        public string CreatedOnExpression;\n\n        /// <summary>\n        /// Restrict to tasks that are in the given delegation state.\n        /// </summary>\n        public DelegationState? DelegationState;\n\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n        /// <summary>\n        /// Only include tasks which belongs to no tenant. Value may only be true, as false is the default behavior.\n        /// </summary>\n        public bool? WithoutTenantId;\n\n        /// <summary>\n        /// Restrict to tasks that are offered to any of the given candidate groups.\n        /// </summary>\n        public List<string> CandidateGroups;\n        /// <summary>\n        /// Restrict to tasks that are offered to any of the candidate groups described by the given expression. See the user guide for more information on available functions. The expression must evaluate to java.util.List of Strings.\n        /// </summary>\n        public string CandidateGroupsExpression;\n\n        /// <summary>\n        /// Array to only include tasks that have variables with certain values. \n        /// </summary>\n        public List<VariableQueryParameter> TaskVariables = new List<VariableQueryParameter>();\n        /// <summary>\n        /// Array to only include tasks that belong to a process instance with variables with certain values.\n        /// </summary>\n        public List<VariableQueryParameter> ProcessVariables = new List<VariableQueryParameter>();\n        /// <summary>\n        /// Only include tasks that belong to case instances that have variables with certain values.\n        /// </summary>\n        public List<VariableQueryParameter> CaseInstanceVariables = new List<VariableQueryParameter>();\n\n        /// <summary>\n        /// Only include tasks which have a candidate group.\n        /// </summary>\n        public bool? WithCandidateGroups;\n        /// <summary>\n        /// Only include tasks which have no candidate group.\n        /// </summary>\n        public bool? WithoutCandidateGroups;\n\n        /// <summary>\n        /// Array of criteria to sort the result by. The position in the array identifies the rank of an ordering, i.e. whether it is primary, secondary, etc.\n        /// </summary>\n        public List<SortingInfo<TaskSorting>> Sorting = new List<SortingInfo<TaskSorting>>();\n\n        /// <param name=\"sortBy\"></param>\n        /// <param name=\"sortOrder\"></param>\n        /// <param name=\"variable\">\n        /// Mandatory when <paramref name=\"sortBy\" /> is either \n        /// <see cref=\"TaskSorting.ProcessVariable\"/>, <see cref=\"TaskSorting.ExecutionVariable\"/>, <see cref=\"TaskSorting.TaskVariable\"/>, <see cref=\"TaskSorting.CaseExecutionVariable\"/> or <see cref=\"TaskSorting.CaseInstanceVariable\"/>\n        /// </param>\n        public TaskQuery Sort(TaskSorting sortBy, SortOrder sortOrder = SortOrder.Ascending, VariableOrder variable = null)\n        {\n            Dictionary<string, object> parameters = null;\n\n            TaskSorting[] variableSorting = new[] {\n                TaskSorting.ProcessVariable,\n                TaskSorting.ExecutionVariable,\n                TaskSorting.TaskVariable,\n                TaskSorting.CaseExecutionVariable,\n                TaskSorting.CaseInstanceVariable\n            };\n\n            bool isVariableSorting = variableSorting.Contains(sortBy);\n\n            if (isVariableSorting ^ variable != null)\n                throw new ArgumentException(\"Variable is mandatory when sortBy is either processVariable, executionVariable, taskVariable, caseExecutionVariable or caseInstanceVariable.\", nameof(variable));\n\n            if (variable != null) {\n                parameters = new Dictionary<string, object>() {\n                    [\"variable\"] = variable.VariableName,\n                    [\"type\"] = variable.Type.ToString(),\n                };\n            }\n\n            Sorting.Add(new SortingInfo<TaskSorting>() { SortBy = sortBy, SortOrder = sortOrder, Parameters = parameters });\n\n            return this;\n        }\n    }\n\n    public enum TaskSorting\n    {\n        Id,\n        InstanceId,\n        CaseInstanceId,\n        DueDate,\n        ExecutionId,\n        CaseExecutionId,\n        Assignee,\n        Created,\n        Description,\n        Name,\n        NameCaseInsensitive,\n        Priority,\n\n        ProcessVariable,\n        ExecutionVariable,\n        TaskVariable,\n        CaseExecutionVariable,\n        CaseInstanceVariable\n    }\n\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/TaskResource.cs",
    "content": "﻿using Camunda.Api.Client.ProcessDefinition;\nusing System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class TaskResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal TaskResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        public TaskIdentityLinkResource IdentityLink => new TaskIdentityLinkResource(_api, _taskId);\n        public TaskCommentResource Comment => new TaskCommentResource(_api, _taskId);\n        public TaskAttachmentResource Attachment => new TaskAttachmentResource(_api, _taskId);\n        public VariableResource Variables => new VariableResource(_api, _taskId);\n        public LocalVariableResource LocalVariables => new LocalVariableResource(_api, _taskId);\n\n        /// <summary>\n        /// Retrieves a single task by its id.\n        /// </summary>\n        public Task<UserTaskInfo> Get() => _api.Get(_taskId);\n\n        /// <summary>\n        /// Retrieves the form key for a task. The form key corresponds to the FormData#formKey property in the engine. \n        /// This key can be used to do task-specific form rendering in client applications. \n        /// Additionally, the context path of the containing process application is returned.\n        /// </summary>\n        public Task<FormInfo> GetForm() => _api.GetForm(_taskId);\n\n        /// <summary>\n        /// Complete a task and update process variables using a form submit.\n        /// </summary>\n        /// <remarks>\n        ///  * If the task is in state PENDING - ie. has been delegated before, it is not completed but resolved. Otherwise it will be completed.\n        ///  * If the task has Form Field Metadata defined, the process engine will perform backend validation for any form fields which have validators defined.\n        /// </remarks>\n        public Task SubmitForm(CompleteTask completeTask) => _api.SubmitFormTask(_taskId, completeTask);\n\n        /// <summary>\n        /// Complete a task and update process variables using a form submit, retrieving variables in response\n        /// </summary>\n        /// <remarks>\n        ///  * If the task is in state PENDING - ie. has been delegated before, it is not completed but resolved. Otherwise it will be completed.\n        ///  * If the task has Form Field Metadata defined, the process engine will perform backend validation for any form fields which have validators defined.\n        /// </remarks>\n        public Task<Dictionary<string, VariableValue>> SubmitFormAndFetchVariables(CompleteTask completeTask) => _api.SubmitFormTaskAndFetchVariables(_taskId, completeTask);\n\n        /// <summary>\n        /// Retrieves the rendered form for a task. This method can be used for getting the HTML rendering of a Generated Task Form.\n        /// </summary>\n        public Task<string> GetRenderedForm() => _api.GetRenderedForm(_taskId);\n\n        /// <summary>\n        /// Claim a task for a specific user.\n        /// </summary>\n        /// <remarks>\n        /// The difference with set a assignee is that here a check is performed to see if the task already has a user assigned to it.\n        /// </remarks>\n        public Task Claim(string userId) => _api.ClaimTask(_taskId, new UserInfo() { UserId = userId });\n\n        /// <summary>\n        /// Resets a task’s assignee. If successful, the task is not assigned to a user.\n        /// </summary>\n        public Task Unclaim() => _api.UnclaimTask(_taskId);\n\n        /// <summary>\n        /// Complete a task and update process variables.\n        /// </summary>\n        public Task Complete(CompleteTask completeTask) => _api.CompleteTask(_taskId, completeTask);\n\n        /// <summary>\n        /// Complete a task and update process variables, retrieving variables in response\n        /// </summary>\n        public Task<Dictionary<string, VariableValue>> CompleteAndFetchVariables(CompleteTask completeTask) => _api.CompleteTaskAndFetchVariables(_taskId, completeTask);\n\n        /// <summary>\n        /// Resolve a task and update execution variables.\n        /// </summary>\n        public Task Resolve(ResolveTask resolveTask) => _api.ResolveTask(_taskId, resolveTask);\n\n        /// <summary>\n        /// Delegate a task to another user.\n        /// </summary>\n        public Task Delegate(string delegatedUser) => _api.DelegateTask(_taskId, new UserInfo() { UserId = delegatedUser });\n\n        /// <summary>\n        /// Change the assignee of a task to a specific user.\n        /// </summary>\n        /// <remarks>\n        /// The difference with claim a task is that this method does not check if the task already has a user assigned to it.\n        /// </remarks>\n        public Task SetAssignee(string userId) => _api.SetAssignee(_taskId, new UserInfo() { UserId = userId });\n\n        /// <summary>\n        /// Retrieves the form variables for a task. \n        /// The form variables take form data specified on the task into account. \n        /// If form fields are defined, the variable types and default values of the form fields are taken into account.\n        /// </summary>\n        /// <param name=\"variableNames\">\n        /// Allows restricting the list of requested variables to the variable names in the list. \n        /// It is best practice to restrict the list of variables to the variables actually required by the form in order to minimize fetching of data. \n        /// If the query parameter is ommitted all variables are fetched. If the query parameter contains non-existent variable names, the variable names are ignored.\n        /// </param>\n        public Task<Dictionary<string, VariableValue>> GetFormVariables(params string[] variableNames) => _api.GetFormVariables(_taskId, variableNames.Join());\n        /// <summary>\n        /// Retrieves the form variables for a task. \n        /// The form variables take form data specified on the task into account. \n        /// If form fields are defined, the variable types and default values of the form fields are taken into account.\n        /// </summary>\n        /// <param name=\"variableNames\">\n        /// Allows restricting the list of requested variables to the variable names in the list. \n        /// It is best practice to restrict the list of variables to the variables actually required by the form in order to minimize fetching of data. \n        /// If the query parameter is ommitted all variables are fetched. If the query parameter contains non-existent variable names, the variable names are ignored.\n        /// </param>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetFormVariables(string[] variableNames, bool deserializeValues = true) => _api.GetFormVariables(_taskId, variableNames.Join(), deserializeValues);\n\n        /// <summary>\n        /// Updates a task.\n        /// </summary>\n        public Task Update(UserTask task) => _api.UpdateTask(_taskId, task);\n\n        /// <summary>\n        /// Delete a task.\n        /// </summary>\n        public Task Delete() => _api.DeleteTask(_taskId);\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/UserTask.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class UserTask\n    {\n        /// <summary>\n        /// The task name.\n        /// </summary>\n        public string Name;\n        /// <summary>\n        /// The user assigned to this task.\n        /// </summary>\n        public string Assignee;\n        /// <summary>\n        /// The due date for the task.\n        /// </summary>\n        public DateTime? Due;\n        /// <summary>\n        /// The follow-up date for the task.\n        /// </summary>\n        public DateTime? FollowUp;\n        /// <summary>\n        /// The delegation state of the task. Possible values are RESOLVED and PENDING.\n        /// </summary>\n        public DelegationState DelegationState;\n        /// <summary>\n        /// The task description.\n        /// </summary>\n        public string Description;\n        /// <summary>\n        /// The owner of the task.\n        /// </summary>\n        public string Owner;\n        /// <summary>\n        /// The id of the parent task, if this task is a subtask.\n        /// </summary>\n        public string ParentTaskId;\n        /// <summary>\n        /// The priority of the task.\n        /// </summary>\n        public int Priority;\n        /// <summary>\n        /// The id of the case instance the task belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// If not null, the tenantId for the task.\n        /// </summary>\n        /// <remarks>The tenant id cannot be changed; only the existing tenant id can be passed.</remarks>\n        public string TenantId;\n\n        public override string ToString() => Name;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/UserTaskInfo.cs",
    "content": "﻿using System;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class UserTaskInfo : UserTask\n    {\n        /// <summary>\n        /// The id of the task.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The time the task was created.\n        /// </summary>\n        public DateTime Created;\n        /// <summary>\n        /// The id of the execution the task belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the process definition this task belongs to.\n        /// </summary>\n        public string ProcessDefinitionId;\n        /// <summary>\n        /// The id of the process instance this task belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The task definition key.\n        /// </summary>\n        public string TaskDefinitionKey;\n        /// <summary>\n        /// The id of the case execution the task belongs to.\n        /// </summary>\n        public string CaseExecutionId;\n        /// <summary>\n        /// The id of the case definition the task belongs to.\n        /// </summary>\n        public string CaseDefinitionId;\n        /// <summary>\n        /// If not null, the form key for the task.\n        /// </summary>\n        public string FormKey;\n\n        public override string ToString() => base.ToString() ?? Id;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/UserTaskService.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class UserTaskService\n    {\n        private IUserTaskRestService _api;\n\n        internal UserTaskService(IUserTaskRestService api)\n        {\n            _api = api;\n        }\n\n        public TaskResource this[string taskId] => new TaskResource(_api, taskId);\n\n        /// <summary>\n        /// Retrieves the number of tasks for each candidate group.\n        /// </summary>\n        public Task<List<TaskCountByCandidateGroupResult>> GetTaskCountByCandidateGroup() => _api.GetTaskCountByCandidateGroup();\n\n        public QueryResource<TaskQuery, UserTaskInfo> Query(TaskQuery query = null) =>\n            new QueryResource<TaskQuery, UserTaskInfo>(query, _api.GetList, _api.GetListCount);\n\n        public Task Create(UserTask task) => _api.CreateTask(task);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/UserTask/VariableResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.UserTask\n{\n    public class VariableResource : IVariableResource\n    {\n        private string _taskId;\n        private IUserTaskRestService _api;\n\n        internal VariableResource(IUserTaskRestService api, string taskId)\n        {\n            _api = api;\n            _taskId = taskId;\n        }\n\n        /// <summary>\n        /// Retrieves all variables of a given task.\n        /// </summary>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<Dictionary<string, VariableValue>> GetAll(bool deserializeValues = true) => _api.GetVariables(_taskId, deserializeValues);\n        /// <summary>\n        /// Retrieves a variable from the context of a given task.\n        /// </summary>\n        public Task<VariableValue> Get(string variableName, bool deserializeValue = true) => _api.GetVariable(_taskId, variableName, deserializeValue);\n        /// <summary>\n        /// Retrieves a binary variable from the context of a given task. Applicable for byte array and file variables.\n        /// </summary>\n        public async Task<HttpContent> GetBinary(string variableName) => (await _api.GetBinaryVariable(_taskId, variableName)).Content;\n        /// <summary>\n        /// Sets a variable in the context of a given task.\n        /// </summary>\n        public Task Set(string variableName, VariableValue variable) => _api.PutVariable(_taskId, variableName, variable);\n        /// <summary>\n        /// Sets the serialized value for a binary variable or the binary value for a file variable.\n        /// </summary>\n        public Task SetBinary(string variableName, BinaryDataContent data, BinaryVariableType valueType) => _api.SetBinaryVariable(_taskId, variableName, data, new ValueTypeContent(valueType.ToString()));\n        /// <summary>\n        /// Removes a variable from a task.\n        /// </summary>\n        public Task Delete(string variableName) => _api.DeleteVariable(_taskId, variableName);\n        /// <summary>\n        /// Updates or deletes the variables in the context of a task. Updates precede deletions. So, if a variable is updated AND deleted, the deletion overrides the update.\n        /// </summary>\n        public Task Modify(PatchVariables patch) => _api.ModifyVariables(_taskId, patch);\n\n        public override string ToString() => _taskId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/ValueTypeContent.cs",
    "content": "﻿using Iana;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\n\nnamespace Camunda.Api.Client\n{\n    internal class ValueTypeContent : StringContent\n    {\n        public ValueTypeContent(string valueType) : base(valueType)\n        {\n            Headers.ContentDisposition = new ContentDispositionHeaderValue(\"form-data\") { Name = \"valueType\" };\n            Headers.ContentType = new MediaTypeHeaderValue(MediaTypes.Text.Plain) { CharSet = \"US-ASCII\" };\n            Headers.Add(\"Content-Transfer-Encoding\", \"8bit\");\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/IVariableInstanceRestService.cs",
    "content": "﻿using Refit;\nusing System.Collections.Generic;\nusing System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.VariableInstance\n{\n    internal interface IVariableInstanceRestService\n    {\n        [Get(\"/variable-instance/{variableInstanceId}\")]\n        Task<VariableInstanceInfo> Get(string variableInstanceId);\n\n        [Post(\"/variable-instance\")]\n        Task<List<VariableInstanceInfo>> GetList([Body] VariableInstanceQuery query, int? firstResult, int? maxResults, bool deserializeValues = true);\n\n        [Post(\"/variable-instance/count\")]\n        Task<CountResult> GetListCount([Body] VariableInstanceQuery query);\n\n        [Get(\"/variable-instance/{variableInstanceId}/data\")]\n        Task<HttpResponseMessage> GetBinaryVariable(string variableInstanceId);\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/VariableInstanceInfo.cs",
    "content": "﻿namespace Camunda.Api.Client.VariableInstance\n{\n    public class VariableInstanceInfo : NamedVariableValue\n    {\n        /// <summary>\n        /// The id of the variable instance.\n        /// </summary>\n        public string Id;\n        /// <summary>\n        /// The id of the process instance that this variable instance belongs to.\n        /// </summary>\n        public string ProcessInstanceId;\n        /// <summary>\n        /// The id of the execution that this variable instance belongs to.\n        /// </summary>\n        public string ExecutionId;\n        /// <summary>\n        /// The id of the case instance that this variable instance belongs to.\n        /// </summary>\n        public string CaseInstanceId;\n        /// <summary>\n        /// The id of the case execution that this variable instance belongs to.\n        /// </summary>\n        public string CaseExecutionId;\n        /// <summary>\n        /// The id of the task that this variable instance belongs to.\n        /// </summary>\n        public string TaskId;\n        /// <summary>\n        /// The id of the activity instance that this variable instance belongs to.\n        /// </summary>\n        public string ActivityInstanceId;\n        /// <summary>\n        /// An error message in case a Java Serialized Object could not be de-serialized.\n        /// </summary>\n        public string ErrorMessage;\n        /// <summary>\n        /// The id of the tenant that this variable instance belongs to.\n        /// </summary>\n        public string TenantId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/VariableInstanceQuery.cs",
    "content": "﻿using Newtonsoft.Json;\nusing System.Collections.Generic;\n\nnamespace Camunda.Api.Client.VariableInstance\n{\n    public class VariableInstanceQuery : SortableQuery<VariableInstanceSorting, VariableInstanceQuery>\n    {\n        /// <summary>\n        /// Filter by variable instance name.\n        /// </summary>\n        public string VariableName;\n        /// <summary>\n        /// Filter by the variable instance name. The parameter can include the wildcard % to express like-strategy such as: starts with (%name), ends with (name%) or contains (%name%).\n        /// </summary>\n        public string VariableNameLike;\n        /// <summary>\n        /// An array to only include variable instances that have the certain values.\n        /// </summary>\n        public List<VariableQueryParameter> VariableValues;\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed execution ids.\n        /// </summary>\n        [JsonProperty(\"executionIdIn\")]\n        public List<string> ExecutionId = new List<string>();\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed process instance ids.\n        /// </summary>\n        [JsonProperty(\"processInstanceIdIn\")]\n        public List<string> ProcessInstanceId = new List<string>();\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed case execution ids.\n        /// </summary>\n        [JsonProperty(\"caseExecutionIdIn\")]\n        public List<string> CaseExecutionId = new List<string>();\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed case instance ids.\n        /// </summary>\n        [JsonProperty(\"caseInstanceIdIn\")]\n        public List<string> CaseInstanceId = new List<string>();\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed task ids.\n        /// </summary>\n        [JsonProperty(\"taskIdIn\")]\n        public List<string> TaskId = new List<string>();\n        /// <summary>\n        /// Only select variables instances which have on of the variable scope ids.\n        /// </summary>\n        [JsonProperty(\"variableScopeIdIn\")]\n        public List<string> VariableScopeId = new List<string>();\n        /// <summary>\n        /// Only include variable instances which belong to one of the passed activity instance ids.\n        /// </summary>\n        [JsonProperty(\"activityInstanceIdIn\")]\n        public List<string> ActivityInstanceId = new List<string>();\n        /// <summary>\n        /// Only select variable instances with one of the given tenant ids.\n        /// </summary>\n        [JsonProperty(\"tenantIdIn\")]\n        public List<string> TenantIds = new List<string>();\n    }\n\n    public enum VariableInstanceSorting\n    {\n        VariableName,\n        VariableType,\n        ActivityInstanceId,\n        TenantId\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/VariableInstanceQueryResource.cs",
    "content": "﻿using System.Collections.Generic;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.VariableInstance\n{\n    public class VariableInstanceQueryResource\n    {\n        private IVariableInstanceRestService _api;\n        private VariableInstanceQuery _query;\n\n        internal VariableInstanceQueryResource(IVariableInstanceRestService api, VariableInstanceQuery query)\n        {\n            _api = api;\n            _query = query;\n        }\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        public Task<List<VariableInstanceInfo>> List() => _api.GetList(_query, null, null);\n\n        /// <summary>\n        /// Query for variable instances that fulfill given parameters.\n        /// </summary>\n        /// <param name=\"firstResult\">Pagination of results. Specifies the index of the first result to return.</param>\n        /// <param name=\"maxResults\">Pagination of results. Specifies the maximum number of results to return. Will return less results if there are no more results left.</param>\n        /// <param name=\"deserializeValues\">Determines whether serializable variable values (typically variables that store custom Java objects) should be deserialized on server side.</param>\n        public Task<List<VariableInstanceInfo>> List(int firstResult, int maxResults, bool deserializeValues = true) => _api.GetList(_query, firstResult, maxResults, deserializeValues);\n\n        /// <summary>\n        /// Get number of variable instances that fulfill given parameters.\n        /// </summary>\n        /// <returns></returns>\n        public async Task<int> Count() => (await _api.GetListCount(_query)).Count;\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/VariableInstanceResource.cs",
    "content": "﻿using System.Net.Http;\nusing System.Threading.Tasks;\n\nnamespace Camunda.Api.Client.VariableInstance\n{\n    public class VariableInstanceResource\n    {\n        private string _variableInstanceId;\n        private IVariableInstanceRestService _api;\n\n        internal VariableInstanceResource(IVariableInstanceRestService api, string variableInstanceId)\n        {\n            _api = api;\n            _variableInstanceId = variableInstanceId;\n        }\n\n        /// <summary>\n        /// Retrieves a single variable by id.\n        /// </summary>\n        public Task<VariableInstanceInfo> Get() => _api.Get(_variableInstanceId);\n        \n        /// <summary>\n        /// Retrieves the content of a single variable by id.\n        /// Applicable for byte array and file variables.\n        /// </summary>\n        public async Task<HttpContent> GetBinary() => (await _api.GetBinaryVariable(_variableInstanceId)).Content;\n\n        public override string ToString() => _variableInstanceId;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableInstance/VariableInstanceService.cs",
    "content": "﻿namespace Camunda.Api.Client.VariableInstance\n{\n    public class VariableInstanceService\n    {\n        private IVariableInstanceRestService _api;\n\n        internal VariableInstanceService(IVariableInstanceRestService api) { _api = api; }\n\n        /// <param name=\"variableInstanceId\">The id of the variable instance.</param>\n        public VariableInstanceResource this[string variableInstanceId] => new VariableInstanceResource(_api, variableInstanceId);\n\n        public VariableInstanceQueryResource Query(VariableInstanceQuery query = null)\n            => new VariableInstanceQueryResource(_api, query ?? new VariableInstanceQuery());\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableOrder.cs",
    "content": "﻿namespace Camunda.Api.Client\n{\n    public class VariableOrder\n    {\n        public string VariableName;\n        public VariableType Type;\n\n        public VariableOrder(string variableName, VariableType variableType)\n        {\n            VariableName = variableName;\n            Type = variableType;\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableQueryParameter.cs",
    "content": "﻿\nnamespace Camunda.Api.Client\n{\n    public class VariableQueryParameter : ConditionQueryParameter\n    {\n        /// <summary>\n        /// Variable name\n        /// </summary>\n        public string Name;\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client/VariableValue.cs",
    "content": "﻿using Iana;\nusing Newtonsoft.Json;\nusing Newtonsoft.Json.Linq;\nusing System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Diagnostics;\nusing System.Globalization;\nusing System.IO;\nusing System.Reflection;\n\nnamespace Camunda.Api.Client\n{\n    [JsonObject]\n    [JsonConverter(typeof(VariableValueJsonConverter))]\n    [TypeConverter(typeof(VariableValueTypeConverter))]\n    public class VariableValue : IConvertible\n    {\n        /// <summary>Identifies the file's name as specified on value creation.</summary>\n        public const string ValueInfoFileName = \"filename\";\n        /// <summary>Identifies the file's mime type as specified on value creation.</summary>\n        public const string ValueInfoFileMimeType = \"mimeType\";\n        /// <summary>Identifies the file's encoding as specified on value creation.</summary>\n        public const string ValueInfoFileEncoding = \"encoding\";\n        /// <summary>Identifies the object's type name./// </summary>\n        public const string ValueInfoObjectTypeName = \"objectTypeName\";\n        /// <summary>Identifies the format in which the object is serialized.</summary>\n        public const string ValueInfoSerializationDataFormat = \"serializationDataFormat\";\n\n        private const string SerializedTypedObjectTypeName = \"dto.SerializedTypedObject\";\n        private const string JavaObjectTypeName = \"java.lang.Object\";\n\n        /// <summary>\n        /// The value type of the variable.\n        /// </summary>\n        [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]\n        public VariableType Type;\n\n        /// <summary>\n        /// Object containing additional, value-type-dependent properties.\n        /// </summary>\n        /// <remarks>\n        /// For serialized variables of type Object, the following properties can be provided:\n        ///  objectTypeName: A string representation of the object's type name.\n        ///  serializationDataFormat: The serialization format used to store the variable.\n        /// \n        /// For serialized variables of type File, the following properties can be provided:\n        ///  filename: The name of the file.This is not the variable name but the name that will be used when downloading the file again.\n        ///  mimetype: The mime type of the file that is being uploaded.\n        ///  encoding: The encoding of the file that is being uploaded.\n        /// </remarks>\n        public Dictionary<string, object> ValueInfo;\n\n        /// <summary>\n        /// The variable's value.\n        /// </summary>\n        [JsonIgnore]\n        public object Value;\n\n        [JsonProperty(\"value\"), DebuggerBrowsable(DebuggerBrowsableState.Never)]\n        private object rawValue\n        {\n            get\n            {\n                if (Value != null)\n                {\n                    if (IsSerializedTypedObject)\n                    {\n                        return JsonConvert.SerializeObject( // wrapping into SerializedTypedObject\n                            new SerializedTypedObject() { Data = JsonConvert.SerializeObject(Value, typeof(object), TypeAwareJsonSerializerSettings) });\n                    }\n                    else if (Type == VariableType.Object)\n                    {\n                        // object serialize as a simple JSON\n                        return JsonConvert.SerializeObject(Value);\n                    }\n                }\n                return Value;\n            }\n            set\n            {\n                if (value != null)\n                {\n                    if (IsSerializedTypedObject && value is JToken)\n                    {\n                        // this can throw exception when cannot find assembly...\n                        Value = JsonConvert.DeserializeObject(((SerializedTypedObject)GetValue(value, typeof(SerializedTypedObject))).Data, TypeAwareJsonSerializerSettings);\n                    }\n                    else\n                    {\n                        Value = value;\n                    }\n                }\n            }\n        }\n\n        private static readonly JsonSerializerSettings TypeAwareJsonSerializerSettings =\n            new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto };\n\n        private static readonly JsonSerializer TypeAwareJsonSerializer = \n            JsonSerializer.Create(TypeAwareJsonSerializerSettings);\n\n        protected VariableValue() { } // use FromObject method to instantiate\n\n        [DebuggerBrowsable(DebuggerBrowsableState.Never)]\n        private bool IsSerializedTypedObject =>\n            Type == VariableType.Object &&\n            ValueInfo != null &&\n            ValueInfo.ContainsKey(ValueInfoObjectTypeName) &&\n            ValueInfo.ContainsKey(ValueInfoSerializationDataFormat) &&\n            ValueInfo[ValueInfoObjectTypeName].Equals(SerializedTypedObjectTypeName) &&\n            ValueInfo[ValueInfoSerializationDataFormat].Equals(MediaTypes.Application.Json);\n\n        private class VariableValueJsonConverter : JsonConverter\n        {\n            public override bool CanConvert(Type objectType) => objectType.IsAssignableFrom(typeof(VariableValue));\n            public override bool CanRead => true;\n            public override bool CanWrite => false; // we are not handling serialization, use default converter\n\n            public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)\n            {\n                var target = (VariableValue)Activator.CreateInstance(objectType, true);\n                object rawValue = null;\n\n                while (reader.Read() && reader.TokenType != JsonToken.EndObject)\n                {\n                    if (reader.TokenType == JsonToken.PropertyName)\n                    {\n                        string property = (string)reader.Value;\n\n                        if (property.Equals(nameof(Value), StringComparison.OrdinalIgnoreCase))\n                        {\n                            if (target.Type == VariableType.String)\n                            {\n                                // suppress JSON deserializer type guessing; string values read explicitly as string\n                                rawValue = reader.ReadAsString();\n                            }\n                            else if (target.Type == VariableType.Date)\n                            {\n                                rawValue = reader.ReadAsDateTime();\n                            }\n                            else if (target.Type == VariableType.Bytes || target.Type == VariableType.File)\n                            {\n                                rawValue = Convert.FromBase64String(reader.ReadAsString() ?? \"\");\n                            }\n                            else\n                            {\n                                reader.Read();\n                                rawValue = serializer.Deserialize(reader);\n                            }\n                        }\n                        else if (PopulateMember(property, reader, serializer, target))\n                        {\n                            // property successfully filled\n                        }\n                        else\n                        {\n                            Debug.Assert(false, \"Unknown JSON property: \" + property);\n                        }\n                    }\n                }\n\n                target.rawValue = rawValue;\n\n                return target;\n            }\n\n            protected virtual bool PopulateMember(string memberName, JsonReader reader, JsonSerializer serializer, object target)\n            {\n                BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase;\n\n                Type targetType = target.GetType();\n\n                FieldInfo fieldInfo = targetType.GetField(memberName, bindingFlags);\n\n                if (fieldInfo != null)\n                {\n                    reader.Read();\n                    fieldInfo.SetValue(target, serializer.Deserialize(reader, fieldInfo.FieldType));\n                    return true;\n                }\n                else \n                {\n                    PropertyInfo propInfo = targetType.GetProperty(memberName, bindingFlags);\n                    if (propInfo != null)\n                    {\n                        reader.Read();\n                        propInfo.SetValue(target, serializer.Deserialize(reader, propInfo.PropertyType));\n                        return true;\n                    }\n                }\n\n                return false;\n            }\n\n            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)\n            {\n                throw new NotImplementedException();\n            }\n\n            private string StrToCamelCase(string str)\n            {\n                if (str?.Length > 1)\n                    return str.Substring(0, 1).ToLower() + str.Substring(1);\n                else\n                    return str?.ToLower();\n            }\n        }\n\n        public override string ToString()\n        {\n            if (Value == null)\n                return \"null\";\n            else if (Value is byte[])\n                return $\"{{byte[{(Value as byte[]).Length}]}}\";\n\n            return Value.ToString();\n        }\n\n        /// <summary>\n        /// Value instantiation. Underlying value can be primitive .NET type or any class serializable to JSON\n        /// </summary>\n        public static VariableValue FromObject(object value)\n        {\n            var val = new VariableValue();\n            val.SetTypedValue(value);\n            return val;\n        }\n\n        /// <summary>\n        /// Value instantiation. Creates file variable with content of file specified by <paramref name=\"path\"/>\n        /// </summary>\n        /// <param name=\"path\">Local path to the file.</param>\n        /// <param name=\"mimeType\">The MIME type of the file that is being uploaded. Use constant from <see cref=\"MediaTypes\"/></param>\n        /// <param name=\"charset\">The encoding of the file that is being uploaded.</param>\n        public static VariableValue FromFile(string path, string mimeType, string charset = null)\n        {\n            return FromFile(File.ReadAllBytes(path), Path.GetFileName(path), mimeType, charset);\n        }\n\n        /// <summary>\n        /// Value instantiation. Creates file variable from <paramref name=\"content\"/>\n        /// </summary>\n        /// <param name=\"mimeType\">The MIME type of the file that is being uploaded. Use constant from <see cref=\"MediaTypes\"/></param>\n        /// <param name=\"fileName\">The name of the file. This is not the variable name but the name that will be used when downloading the file again.</param>\n        /// <param name=\"charset\">The encoding of the file that is being uploaded.</param>\n        /// <param name=\"content\">Content of the file that is being uploaded.</param>\n        public static VariableValue FromFile(byte[] content, string fileName, string mimeType, string charset = null)\n        {\n            var val = new VariableValue()\n            {\n                Type = VariableType.File,\n                Value = Convert.ToBase64String(content),\n                ValueInfo = new Dictionary<string, object>()\n                {\n                    [ValueInfoFileName] = fileName,\n                    [ValueInfoFileMimeType] = mimeType,\n                    [ValueInfoFileEncoding] = charset ?? \"\",\n                }\n            };\n\n            return val;\n        }\n\n        /// <summary>\n        /// Value instantiation. Creates text file variable with MIME text/plain\n        /// </summary>\n        /// <param name=\"path\">Local path to the file.</param>\n        /// <param name=\"charset\">The encoding of the file that is being uploaded.</param>\n        public static VariableValue FromTextFile(string path, string charset = \"utf-8\")\n        {\n            return FromFile(File.ReadAllBytes(path), Path.GetFileName(path), MediaTypes.Text.Plain, charset);\n        }\n\n        /// <summary>\n        /// Value instantiation. Creates binary file variable.\n        /// </summary>\n        /// <param name=\"path\">Local path to the file.</param>\n        /// <param name=\"mimeType\">The MIME type of the file that is being uploaded. Use constant from <see cref=\"MediaTypes\"/></param>\n        public static VariableValue FromBinaryFile(string path, string mimeType = MediaTypes.Application.OctetStream)\n        {\n            return FromFile(File.ReadAllBytes(path), Path.GetFileName(path), mimeType, null);\n        }\n\n        /// <summary>\n        /// Convert <see cref=\"Value\"/> to desired type.\n        /// </summary>\n        public T GetValue<T>() => (T)GetValue(typeof(T));\n\n        /// <summary>\n        /// Convert <see cref=\"Value\"/> to desired type.\n        /// </summary>\n        public object GetValue(Type type)\n        {\n            return GetValue(Value, type);\n        }\n\n        static object GetValue(object source, Type type)\n        {\n            var jval = source as JToken;\n            if (jval != null)\n                return jval.ToObject(type, TypeAwareJsonSerializer);\n            else if (source != null && type.IsAssignableFrom(source.GetType()))\n                return source;\n            else\n                return Convert.ChangeType(source, type, CultureInfo.InvariantCulture);\n        }\n\n        /// <summary>\n        /// Set the <see cref=\"Value\"/>, <see cref=\"Type\"/> and <see cref=\"ValueInfo\"/> according to the given value object.\n        /// </summary>\n        protected void SetTypedValue(object value)\n        {\n            Value = value;\n            Type = VariableType.Object;\n\n            if (value == null)\n                Type = VariableType.Null;\n            else if (value is string)\n                Type = VariableType.String;\n            else if (value is DateTime)\n                Type = VariableType.Date;\n            else if (value is byte[])\n                Type = VariableType.Bytes;\n            else if (value is bool)\n                Type = VariableType.Boolean;\n            else if (value is byte || value is sbyte || value is char || value is short)\n                Type = VariableType.Short;\n            else if (value is int || value is ushort)\n                Type = VariableType.Integer;\n            else if (value is float || value is double)\n                Type = VariableType.Double;\n            else if (value is uint || value is long)\n                Type = VariableType.Long;\n            else if (value is ulong || value is decimal)\n                Type = VariableType.Number;\n\n            if (Type == VariableType.Object) {\n                ValueInfo = new Dictionary<string, object>()\n                {\n                    [ValueInfoSerializationDataFormat] = MediaTypes.Application.Json,\n                    [ValueInfoObjectTypeName] = JavaObjectTypeName\n                };\n            }\n        }\n\n        /// <summary>\n        /// <see cref=\"Value\"/> will be serialized with <see cref=\"SerializedTypedObject\"/> wrapper.\n        /// JSON serialization uses setting <see cref=\"TypeNameHandling.Auto\"/> resulting in JSON with $type\n        /// </summary>\n        public void EnableTypedObject()\n        {\n            ValueInfo = new Dictionary<string, object>()\n            {\n                [ValueInfoSerializationDataFormat] = MediaTypes.Application.Json,\n                [ValueInfoObjectTypeName] = SerializedTypedObjectTypeName\n            };\n        }\n\n        TypeCode IConvertible.GetTypeCode() => Convert.GetTypeCode(Value);\n        bool IConvertible.ToBoolean(IFormatProvider provider) => Convert.ToBoolean(Value, provider);\n        char IConvertible.ToChar(IFormatProvider provider) => Convert.ToChar(Value, provider);\n        sbyte IConvertible.ToSByte(IFormatProvider provider) => Convert.ToSByte(Value, provider);\n        byte IConvertible.ToByte(IFormatProvider provider) => Convert.ToByte(Value, provider);\n        short IConvertible.ToInt16(IFormatProvider provider) => Convert.ToInt16(Value, provider);\n        ushort IConvertible.ToUInt16(IFormatProvider provider) => Convert.ToUInt16(Value, provider);\n        int IConvertible.ToInt32(IFormatProvider provider) => Convert.ToInt32(Value, provider);\n        uint IConvertible.ToUInt32(IFormatProvider provider) => Convert.ToUInt32(Value, provider);\n        long IConvertible.ToInt64(IFormatProvider provider) => Convert.ToInt64(Value, provider);\n        ulong IConvertible.ToUInt64(IFormatProvider provider) => Convert.ToUInt64(Value, provider);\n        float IConvertible.ToSingle(IFormatProvider provider) => Convert.ToSingle(Value, provider);\n        double IConvertible.ToDouble(IFormatProvider provider) => Convert.ToDouble(Value, provider);\n        decimal IConvertible.ToDecimal(IFormatProvider provider) => Convert.ToDecimal(Value, provider);\n        DateTime IConvertible.ToDateTime(IFormatProvider provider) => Convert.ToDateTime(Value, provider);\n        string IConvertible.ToString(IFormatProvider provider) => Convert.ToString(Value, provider);\n        object IConvertible.ToType(Type conversionType, IFormatProvider provider) => GetValue(conversionType);\n\n        private class SerializedTypedObject\n        {\n            [JsonProperty(\"data\")] public string Data;\n        }\n\n    }\n\n    /// https://docs.camunda.org/manual/7.9/user-guide/process-engine/variables/#supported-variable-values\n    public enum VariableType\n    {\n        Boolean,\n        Bytes,\n        Short,\n        Integer,\n        Long,\n        Double,\n        Date,\n        String,\n        Number,\n\n        Null,\n\n        File,\n        Object,\n\n        Json,\n        Xml\n    }\n\n    public enum BinaryVariableType\n    {\n        Bytes = VariableType.Bytes,\n        File = VariableType.File\n    }\n\n    class VariableValueTypeConverter : System.ComponentModel.TypeConverter\n    {\n        public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)\n        {\n            return true;\n        }\n\n        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)\n        {\n            return true;\n        }\n\n        public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)\n        {\n            VariableValue vv = (VariableValue)value;\n            return vv.GetValue(destinationType);\n        }\n\n        public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)\n        {\n            return VariableValue.FromObject(value);\n        }\n\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client.Tests/Camunda.Api.Client.Tests.csproj",
    "content": "﻿<Project Sdk=\"Microsoft.NET.Sdk\">\n\n  <PropertyGroup>\n    <TargetFramework>netcoreapp2.0</TargetFramework>\n\n    <IsPackable>false</IsPackable>\n\n    <SignAssembly>true</SignAssembly>\n    <AssemblyOriginatorKeyFile>..\\Key.snk</AssemblyOriginatorKeyFile>\n  </PropertyGroup>\n\n  <ItemGroup>\n    <PackageReference Include=\"Microsoft.NET.Test.Sdk\" Version=\"15.5.0\" />\n    <PackageReference Include=\"RichardSzalay.MockHttp\" Version=\"6.0.0\" />\n    <PackageReference Include=\"xunit\" Version=\"2.3.1\" />\n    <PackageReference Include=\"xunit.runner.visualstudio\" Version=\"2.3.1\">\n      <PrivateAssets>all</PrivateAssets>\n      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>\n    </PackageReference>\n    <DotNetCliToolReference Include=\"dotnet-xunit\" Version=\"2.3.1\" />\n  </ItemGroup>\n\n  <ItemGroup>\n    <ProjectReference Include=\"..\\Camunda.Api.Client\\Camunda.Api.Client.csproj\" />\n  </ItemGroup>\n\n</Project>\n"
  },
  {
    "path": "Camunda.Api.Client.Tests/DateTimeTests.cs",
    "content": "using System;\nusing System.Globalization;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing Camunda.Api.Client.ProcessInstance;\nusing Refit;\nusing RichardSzalay.MockHttp;\nusing Xunit;\n\nnamespace Camunda.Api.Client.Tests\n{\n    public class DateTimeTests\n    {\n        [Theory]\n        [InlineData(\"2010-01-01T01:01:01\", \"2010-01-01T01:01:01.000+0000\")]\n        [InlineData(\"2010-05-01T01:01:01\", \"2010-05-01T01:01:01.000+0100\")]\n        public void GetDateTime(string testDateTimeString,string expectedDatetimeString)\n        {\n           var actualIso8601DateString = DateTime.Parse(testDateTimeString).ToJavaISO8601();\n            Assert.Equal(expectedDatetimeString, actualIso8601DateString);\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client.Tests/ProcessInstanceTests.cs",
    "content": "using System;\nusing System.Net;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing Camunda.Api.Client.ProcessInstance;\nusing Refit;\nusing RichardSzalay.MockHttp;\nusing Xunit;\n\nnamespace Camunda.Api.Client.Tests\n{\n    public class ProcessInstanceTests\n    {\n        [Fact]\n        public async Task GetList()\n        {\n            var mockHttp = new MockHttpMessageHandler();\n\n            mockHttp.Expect(HttpMethod.Post, \"http://localhost:8080/engine-rest\")\n                .Respond(HttpStatusCode.OK, \"text/html\", \"OK\");\n\n\n            var client = CamundaClient.Create(\"http://localhost:8080/engine-rest\", mockHttp);\n            var process = await client.ProcessInstances.Query().List();\n\n            Assert.NotNull(process);\n        }\n    }\n}\n"
  },
  {
    "path": "Camunda.Api.Client.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.29519.181\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Camunda.Api.Client\", \"Camunda.Api.Client\\Camunda.Api.Client.csproj\", \"{647F2D5F-4B9C-4A36-AAB6-A787182B6083}\"\nEndProject\nProject(\"{9A19103F-16F7-4668-BE54-9A1E7A4F7556}\") = \"Camunda.Api.Client.Tests\", \"Camunda.Api.Client.Tests\\Camunda.Api.Client.Tests.csproj\", \"{9EC88258-9A0B-448B-90F1-9FACA497228D}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{647F2D5F-4B9C-4A36-AAB6-A787182B6083}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{647F2D5F-4B9C-4A36-AAB6-A787182B6083}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{647F2D5F-4B9C-4A36-AAB6-A787182B6083}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{647F2D5F-4B9C-4A36-AAB6-A787182B6083}.Release|Any CPU.Build.0 = Release|Any CPU\n\t\t{9EC88258-9A0B-448B-90F1-9FACA497228D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{9EC88258-9A0B-448B-90F1-9FACA497228D}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{9EC88258-9A0B-448B-90F1-9FACA497228D}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{9EC88258-9A0B-448B-90F1-9FACA497228D}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {ABBCFB4C-2216-41A4-84A7-870CC863F82F}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2016 Ján Lučanský\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Camunda REST API Client [![Build status](https://ci.appveyor.com/api/projects/status/l2ct8th9hwuwlqvf?svg=true)](https://ci.appveyor.com/project/jlucansky/camunda-api-client) [![NuGet](https://img.shields.io/nuget/v/Camunda.Api.Client.svg)](https://www.nuget.org/packages/Camunda.Api.Client)\nCamunda REST API Client for .NET platform\n- [x] .NET Framework 4.6.1\n- [x] .NET Standard 2.0\n\n## Covered API\nEach part listed below is fully covered according to https://docs.camunda.org/manual/latest/reference/rest specification.\n- [x] [Case Definition](https://docs.camunda.org/manual/latest/reference/rest/case-definition/)\n- [x] [Case Execution](https://docs.camunda.org/manual/latest/reference/rest/case-execution/)\n- [x] [Case Instance](https://docs.camunda.org/manual/latest/reference/rest/case-instance/)\n- [x] [Decision Definition](https://docs.camunda.org/manual/latest/reference/rest/decision-definition/)\n- [x] [Decision Requirements Definition](https://docs.camunda.org/manual/latest/reference/rest/decision-requirements-definition/)\n- [x] [Deployment](https://docs.camunda.org/manual/latest/reference/rest/deployment/)\n- [x] [Execution](https://docs.camunda.org/manual/latest/reference/rest/execution/)\n- [x] [External Task](https://docs.camunda.org/manual/latest/reference/rest/external-task/)\n- [x] [Filter](https://docs.camunda.org/manual/latest/reference/rest/filter/)\n- [x] [Group](https://docs.camunda.org/manual/latest/reference/rest/group/)\n- [x] [History / Activity Instance](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/)\n- [x] [History / Case Definition](https://docs.camunda.org/manual/latest/reference/rest/history/case-definition/)\n- [x] [History / Case Instance](https://docs.camunda.org/manual/latest/reference/rest/history/case-instance/)\n- [x] [History / Case Activity Instance](https://docs.camunda.org/manual/latest/reference/rest/history/case-activity-instance/)\n- [x] [History / Decision Instance](https://docs.camunda.org/manual/latest/reference/rest/history/decision-instance/)\n- [x] [History / Decision Requirements Definition](https://docs.camunda.org/manual/latest/reference/rest/history/decision-requirements-definition/)\n- [x] [History / Detail](https://docs.camunda.org/manual/latest/reference/rest/history/detail/)\n- [x] [History / External Task Log](https://docs.camunda.org/manual/latest/reference/rest/history/external-task-log/)\n- [x] [History / Incident](https://docs.camunda.org/manual/latest/reference/rest/history/incident/)\n- [x] [History / Job Log](https://docs.camunda.org/manual/latest/reference/rest/history/job-log/)\n- [x] [History / Process Definition](https://docs.camunda.org/manual/latest/reference/rest/history/process-definition/)\n- [x] [History / Process Instance](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/)\n- [x] [History / Task](https://docs.camunda.org/manual/latest/reference/rest/history/task/)\n- [x] [History / Variable Instance](https://docs.camunda.org/manual/latest/reference/rest/history/variable-instance/)\n- [x] [Incident](https://docs.camunda.org/manual/latest/reference/rest/incident/)\n- [X] [Job](https://docs.camunda.org/manual/latest/reference/rest/job/)\n- [x] [Job Definition](https://docs.camunda.org/manual/latest/reference/rest/job-definition/)\n- [x] [Message](https://docs.camunda.org/manual/latest/reference/rest/message/)\n- [x] [Migration](https://docs.camunda.org/manual/latest/reference/rest/migration/)\n- [x] [Process Definition](https://docs.camunda.org/manual/latest/reference/rest/process-definition/)\n- [x] [Process Instance](https://docs.camunda.org/manual/latest/reference/rest/process-instance/)\n- [x] [Signal](https://docs.camunda.org/manual/latest/reference/rest/signal/)\n- [x] [Task](https://docs.camunda.org/manual/latest/reference/rest/task/)\n- [x] [Tenant](https://docs.camunda.org/manual/latest/reference/rest/tenant/)\n- [x] [User](https://docs.camunda.org/manual/latest/reference/rest/user/)\n- [x] [Variable Instance](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/)\n\n## Install\nThe Camunda REST API Client is available on [nuget.org](https://www.nuget.org/packages/Camunda.Api.Client)\n\nTo install Camunda REST API Client, run the following command in the Package Manager Console\n```\nPM> Install-Package Camunda.Api.Client\n```\n\n## Usage\n\n#### Initialize client\n```cs\nCamundaClient camunda = CamundaClient.Create(\"http://localhost:8080/engine-rest\");\n```\n\n#### Basic Authentication\n```cs\nHttpClient httpClient = new HttpClient();\nhttpClient.BaseAddress = new Uri(\"http://localhost:8080/engine-rest\");\nhttpClient.DefaultRequestHeaders.Add(\"Authorization\", \"Basic ZGVtbzpkZW1v\");\nCamundaClient camunda = CamundaClient.Create(httpClient);\n```\n\n#### Filter external tasks\n```cs\n// build query\nvar externalTaskQuery = new ExternalTaskQuery() { Active = true, TopicName = \"MyTask\" };\n\n// add some sorting\nexternalTaskQuery\n    .Sort(ExternalTaskSorting.TaskPriority, SortOrder.Descending)\n    .Sort(ExternalTaskSorting.LockExpirationTime);\n\n// request external tasks according to query\nList<ExternalTaskInfo> tasks = await camunda.ExternalTasks.Query(externalTaskQuery).List();\n```\n#### Get all external tasks\n```cs\n// get all external tasks without specifying query\nList<ExternalTaskInfo> allTasks = await camunda.ExternalTasks.Query().List();\n```\n#### Set process variable\n```cs\nVariableResource vars = camunda.ProcessInstances[\"0ea218e8-9cfa-11e6-90a6-ac87a31e24fd\"].Variables;\n\n// set integer variable\nawait vars.Set(\"Var1\", VariableValue.FromObject(123));\n\n// set content of binary variable from file\nawait vars.SetBinary(\"DocVar\", new BinaryDataContent(File.OpenRead(\"document.doc\")), BinaryVariableType.Bytes);\n```\n#### Load typed variables\n```cs\nvar executionId = \"290a7fa2-8bc9-11e6-ab5b-ac87a31e24fd\";\n// load all variables of specified execution\nDictionary<string, VariableValue> allVariables = await camunda.Executions[executionId]\n    .LocalVariables.GetAll();\n\n// obtain strongly typed variable with name Var1\nint myVar1 = allVariables[\"Var1\"].GetValue<int>();\n```\n#### Save content of variable to file\n```cs\nHttpContent fileContent = await camunda.Executions[executionId]\n    .LocalVariables.GetBinary(\"file1\");\n\nusing (fileContent)\n{\n    using (var outStream = File.OpenWrite(\"file1.doc\"))\n    {\n        (await fileContent.ReadAsStreamAsync()).CopyTo(outStream);\n    }\n}\n```\n#### Message correlation\n```cs\nvar msg = new CorrelationMessage() { All = true, MessageName = \"TestMsg\" };\n\nmsg.ProcessVariables\n    .Set(\"Date\", DateTime.Today)\n    .Set(\"ComplexVar\", new { abc = \"xyz\", num = 123});\n\n// correlate message with process variables\nawait camunda.Messages.DeliverMessage(msg);\n```\n#### Deploy resources\n```cs\n// deploy new bpmn diagram with some attachment\nawait camunda.Deployments.Create(\"My Deployment 1\",\n    new ResourceDataContent(File.OpenRead(\"C:\\\\diagram.bpmn\"), \"diagram.bpmn\"), \n    new ResourceDataContent(File.OpenRead(\"C:\\\\document.doc\"), \"document.doc\"));\n```\n#### Conditional query\n```cs\n// get all jobs owned by Process_1 with DueDate in the future\nvar jobQuery = new JobQuery() { ProcessDefinitionKey = \"Process_1\" };\njobQuery.DueDates.Add(new ConditionQueryParameter() \n{\n    Operator = ConditionOperator.GreaterThan, Value = DateTime.Now\n});\n\nvar jobs = await camunda.Jobs.Query(jobQuery).List();\n```\n\n## License\nThis project is made available under the MIT license. See [LICENSE](LICENSE) for details.\n"
  }
]