NJsonSchema.CodeGeneration 11.6.1

NJsonSchema for .NET

NSwag | NJsonSchema | Apimundo | Namotion.Reflection

Azure DevOps Nuget Discord StackOverflow Wiki Apimundo

NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas. The library can read a schema from a file or string and validate JSON data against it. A schema can also be generated from an existing .NET class. With the code generation APIs you can generate C# and TypeScript classes or interfaces from a schema.

The library uses Json.NET to read and write JSON data and Namotion.Reflection for additional .NET reflection APIs.

NuGet packages:

Preview NuGet Feed: https://www.myget.org/F/njsonschema/api/v3/index.json

Features:

NJsonSchema is heavily used in NSwag, a Swagger API toolchain for .NET which generates client code for Web API services. NSwag also provides command line tools to use the NJsonSchema's JSON Schema generator (command types2swagger).

The project is developed and maintained by Rico Suter and other contributors.

Some code generators can directly be used via the Apimundo service.

NJsonSchema usage

The JsonSchema class can be used as follows:

var schema = JsonSchema.FromType<Person>();
var schemaData = schema.ToJson();
var errors = schema.Validate("{...}");

foreach (var error in errors)
    Console.WriteLine(error.Path + ": " + error.Kind);

schema = await JsonSchema.FromJsonAsync(schemaData);

The Person class:

public class Person
{
    [Required]
    public string FirstName { get; set; }

    public string MiddleName { get; set; }

    [Required]
    public string LastName { get; set; }

    public Gender Gender { get; set; }

    [Range(2, 5)]
    public int NumberWithRange { get; set; }

    public DateTime Birthday { get; set; }

    public Company Company { get; set; }

    public Collection<Car> Cars { get; set; }
}

public enum Gender
{
    Male,
    Female
}

public class Car
{
    public string Name { get; set; }

    public Company Manufacturer { get; set; }
}

public class Company
{
    public string Name { get; set; }
}

The generated JSON schema data stored in the schemaData variable:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Person",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "FirstName",
    "LastName"
  ],
  "properties": {
    "FirstName": {
      "type": "string",
      "minLength": 1
    },
    "MiddleName": {
      "type": [
        "null",
        "string"
      ]
    },
    "LastName": {
      "type": "string",
      "minLength": 1
    },
    "Gender": {
      "$ref": "#/definitions/Gender"
    },
    "NumberWithRange": {
      "type": "integer",
      "format": "int32",
      "maximum": 5.0,
      "minimum": 2.0
    },
    "Birthday": {
      "type": "string",
      "format": "date-time"
    },
    "Company": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/Company"
        }
      ]
    },
    "Cars": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/Car"
      }
    }
  },
  "definitions": {
    "Gender": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Male",
        "Female"
      ],
      "enum": [
        0,
        1
      ]
    },
    "Company": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "Car": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        },
        "Manufacturer": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/definitions/Company"
            }
          ]
        }
      }
    }
  }
}

NJsonSchema.CodeGeneration usage

The NJsonSchema.CodeGeneration can be used to generate C# or TypeScript code from a JSON schema:

var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile();

The file variable now contains the C# code for all the classes defined in the JSON schema.

TypeScript

The previously generated JSON Schema would generate the following TypeScript interfaces.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export interface Company {
    Name: string | undefined;
}

export interface Car {
    Name: string | undefined;
    Manufacturer: Company | undefined;
}

export interface Person {
    FirstName: string;
    MiddleName: string | undefined;
    LastName: string;
    Gender: Gender;
    NumberWithRange: number;
    Birthday: Date;
    Company: Company | undefined;
    Cars: Car[] | undefined;
}

... and the following TypeScript classes.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export class Company implements ICompany {
    name: string | undefined;

    constructor(data?: ICompany) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
        }
    }

    static fromJS(data: any): Company {
        let result = new Company();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        return data; 
    }
}

export interface ICompany {
    name: string | undefined;
}

export class Car implements ICar {
    name: string | undefined;
    manufacturer: Company | undefined;

    constructor(data?: ICar) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
            this.manufacturer = data["Manufacturer"] ? Company.fromJS(data["Manufacturer"]) : <any>undefined;
        }
    }

    static fromJS(data: any): Car {
        let result = new Car();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        data["Manufacturer"] = this.manufacturer ? this.manufacturer.toJSON() : <any>undefined;
        return data; 
    }
}

export interface ICar {
    name: string | undefined;
    manufacturer: Company | undefined;
}

export class Person implements IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;

    constructor(data?: IPerson) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.firstName = data["FirstName"];
            this.middleName = data["MiddleName"];
            this.lastName = data["LastName"];
            this.gender = data["Gender"];
            this.numberWithRange = data["NumberWithRange"];
            this.birthday = data["Birthday"] ? new Date(data["Birthday"].toString()) : <any>undefined;
            this.company = data["Company"] ? Company.fromJS(data["Company"]) : <any>undefined;
            if (data["Cars"] && data["Cars"].constructor === Array) {
                this.cars = [];
                for (let item of data["Cars"])
                    this.cars.push(Car.fromJS(item));
            }
        }
    }

    static fromJS(data: any): Person {
        let result = new Person();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["FirstName"] = this.firstName;
        data["MiddleName"] = this.middleName;
        data["LastName"] = this.lastName;
        data["Gender"] = this.gender;
        data["NumberWithRange"] = this.numberWithRange;
        data["Birthday"] = this.birthday ? this.birthday.toISOString() : <any>undefined;
        data["Company"] = this.company ? this.company.toJSON() : <any>undefined;
        if (this.cars && this.cars.constructor === Array) {
            data["Cars"] = [];
            for (let item of this.cars)
                data["Cars"].push(item.toJSON());
        }
        return data; 
    }
}

export interface IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;
}

NJsonSchema.SampleJsonSchemaGenerator usage

The NJsonSchema.SampleJsonSchemaGenerator can be used to generate a JSON Schema from sample JSON data:

JSON Schema Specification

By default, the NJsonSchema.SampleJsonSchemaGenerator generates a JSON Schema based on the JSON Schema specification. See: JSON Schema Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings());

var schema = generator.Generate("{...}");

Input:

{
  "int": 1,
  "float": 340282346638528859811704183484516925440.0,
  "str": "abc",
  "bool": true,
  "date": "2012-07-19",
  "datetime": "2012-07-19 10:11:11",
  "timespan": "10:11:11"
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer"
    },
    "float": {
      "type": "number"
    },
    "str": {
      "type": "string"
    },
    "bool": {
      "type": "boolean"
    },
    "date": {
      "type": "string",
      "format": "date"
    },
    "datetime": {
      "type": "string",
      "format": "date-time"
    },
    "timespan": {
      "type": "string",
      "format": "duration"
    }
  }
}

OpenApi Specification

To generate a JSON Schema for OpenApi, provide the SchemaType.OpenApi3 in the settings. See: OpenApi Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings { SchemaType = SchemaType.OpenApi3 });

var schema = generator.Generate("{...}");

Input:

{
  "int": 12345,
  "long": 1736347656630,
  "float": 340282346638528859811704183484516925440.0,
  "double": 340282346638528859811704183484516925440123456.0,
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer",
      "format": "int32"
    },
    "long": {
      "type": "integer",
      "format": "int64"
    },
    "float": {
      "type": "number",
      "format": "float"
    },
    "double": {
      "type": "number",
      "format": "double"
    }
  }
}

Final notes

Applications which use the library:

Showing the top 20 packages that depend on NJsonSchema.CodeGeneration.

Packages Downloads
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
31
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
29
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
30
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
29
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
30
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
31
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
32
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
29
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
30
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
31
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
32
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
33

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
11.6.1 9 05/03/2026
11.6.0 5 04/11/2026
11.5.2 11 11/07/2025
11.5.1 16 10/03/2025
11.5.0 12 09/17/2025
11.4.0 12 08/02/2025
11.3.2 33 05/24/2025
11.3.1 12 05/19/2025
11.3.0 17 05/19/2025
11.2.0 12 04/27/2025
11.1.0 17 01/19/2025
11.0.2 14 03/07/2025
11.0.1 17 03/07/2025
11.0.0 19 05/16/2024
11.0.0-preview008 15 05/19/2024
11.0.0-preview007 17 05/19/2024
11.0.0-preview006 16 05/19/2024
11.0.0-preview005 14 05/19/2024
11.0.0-preview004 16 05/19/2024
11.0.0-preview003 19 05/19/2024
11.0.0-preview002 17 05/19/2024
11.0.0-preview001 19 05/19/2024
10.9.0 22 05/19/2024
10.8.0 20 05/19/2024
10.7.2 17 05/18/2024
10.7.1 16 05/18/2024
10.7.0 19 05/18/2024
10.6.10 20 05/18/2024
10.6.9 18 05/18/2024
10.6.8 16 05/18/2024
10.6.7 22 05/18/2024
10.6.6 16 05/19/2024
10.6.5 20 05/18/2024
10.6.4 16 05/19/2024
10.6.3 17 05/20/2024
10.6.2 19 05/18/2024
10.6.1 17 05/19/2024
10.6.0 17 05/19/2024
10.5.2 19 05/19/2024
10.5.1 15 05/18/2024
10.5.0 17 05/19/2024
10.4.6 21 05/18/2024
10.4.5 18 05/18/2024
10.4.4 17 05/19/2024
10.4.3 17 05/18/2024
10.4.2 17 05/19/2024
10.4.1 22 05/19/2024
10.4.0 14 05/19/2024
10.3.11 17 05/18/2024
10.3.10 16 05/18/2024
10.3.9 19 05/19/2024
10.3.8 19 05/18/2024
10.3.7 19 05/18/2024
10.3.6 16 05/19/2024
10.3.5 19 05/18/2024
10.3.4 16 05/18/2024
10.3.3 21 05/19/2024
10.3.2 19 05/19/2024
10.3.1 21 05/18/2024
10.3.0 18 05/19/2024
10.2.2 16 05/19/2024
10.2.1 21 05/19/2024
10.2.0 18 05/19/2024
10.1.26 15 05/18/2024
10.1.25 19 05/19/2024
10.1.24 18 05/18/2024
10.1.23 21 05/18/2024
10.1.22 19 05/19/2024
10.1.21 20 05/19/2024
10.1.20 16 05/19/2024
10.1.19 17 05/18/2024
10.1.18 16 05/18/2024
10.1.17 17 05/19/2024
10.1.16 19 05/19/2024
10.1.15 18 05/18/2024
10.1.14 15 05/18/2024
10.1.13 17 05/18/2024
10.1.12 20 05/19/2024
10.1.11 15 05/19/2024
10.1.10 16 05/19/2024
10.1.9 16 05/19/2024
10.1.8 16 05/19/2024
10.1.7 25 05/18/2024
10.1.6 14 05/19/2024
10.1.5 25 05/19/2024
10.1.4 18 05/18/2024
10.1.3 16 05/18/2024
10.1.2 21 05/18/2024
10.1.1 16 05/18/2024
10.1.0 18 05/19/2024
10.0.28 21 05/19/2024
10.0.27 17 05/18/2024
10.0.26 14 05/19/2024
10.0.25 20 05/19/2024
10.0.24 16 05/19/2024
10.0.23 15 05/18/2024
10.0.22 18 05/17/2024
10.0.21 17 05/18/2024
10.0.20 17 05/18/2024
10.0.19 13 05/18/2024
10.0.18 16 05/19/2024
10.0.17 19 05/18/2024
10.0.16 15 05/18/2024
10.0.15 17 05/18/2024
10.0.14 16 05/18/2024
10.0.13 15 05/19/2024
10.0.12 16 05/19/2024
10.0.11 17 05/19/2024
10.0.10 15 05/19/2024
10.0.9 17 05/19/2024
10.0.8 19 05/18/2024
10.0.7 22 05/19/2024
10.0.6 15 05/18/2024
10.0.5 15 05/19/2024
10.0.4 15 05/19/2024
10.0.3 20 05/18/2024
10.0.1 15 05/18/2024
10.0.0 18 05/18/2024
9.14.1 20 05/18/2024
9.14.0 20 05/19/2024
9.13.37 17 05/18/2024
9.13.36 23 05/18/2024
9.13.35 18 05/19/2024
9.13.34 15 05/19/2024
9.13.33 18 05/18/2024
9.13.32 18 05/18/2024
9.13.31 25 05/18/2024
9.13.30 19 05/18/2024
9.13.29 18 05/18/2024
9.13.28 17 05/18/2024
9.13.27 18 05/17/2024
9.13.26 17 05/18/2024
9.13.25 16 05/19/2024
9.13.24 21 05/17/2024
9.13.23 16 05/18/2024
9.13.22 20 05/18/2024
9.13.19 16 05/19/2024
9.13.18 20 05/18/2024
9.13.17 15 05/18/2024
9.13.16 16 05/18/2024
9.13.15 17 05/18/2024
9.13.14 18 05/19/2024
9.13.13 21 05/19/2024
9.13.12 18 05/18/2024
9.13.11 20 05/19/2024
9.13.10 16 05/19/2024
9.13.9 21 05/17/2024
9.13.8 17 05/19/2024
9.13.7 15 05/18/2024
9.13.5 19 05/18/2024
9.13.4 14 05/19/2024
9.13.3 14 05/18/2024
9.13.2 17 05/18/2024
9.13.1 16 05/19/2024
9.13.0 18 05/18/2024
9.12.7 17 05/19/2024
9.12.6 19 05/19/2024
9.12.5 22 05/19/2024
9.12.4 16 05/19/2024
9.12.3 18 05/19/2024
9.12.2 20 05/19/2024
9.12.1 18 05/18/2024
9.12.0 19 05/19/2024
9.11.1 17 05/19/2024
9.11.0 15 05/18/2024
9.10.75 21 05/18/2024
9.10.74 22 05/18/2024
9.10.73 17 05/18/2024
9.10.72 16 05/18/2024
9.10.71 18 05/19/2024
9.10.70 16 05/19/2024
9.10.69 22 05/18/2024
9.10.68 20 05/19/2024
9.10.67 19 05/18/2024
9.10.66 16 05/19/2024
9.10.65 16 05/19/2024
9.10.64 20 05/18/2024
9.10.63 19 05/19/2024
9.10.62 14 05/18/2024
9.10.61 14 05/19/2024
9.10.60 17 05/19/2024
9.10.59 17 05/19/2024
9.10.58 18 05/17/2024
9.10.57 17 05/18/2024
9.10.56 15 05/19/2024
9.10.55 20 05/18/2024
9.10.54 16 05/18/2024
9.10.53 19 05/19/2024
9.10.52 15 05/19/2024
9.10.51 19 05/19/2024
9.10.50 20 05/18/2024
9.10.49 22 05/19/2024
9.10.48 17 05/18/2024
9.10.47 17 05/19/2024
9.10.46 16 05/19/2024
9.10.45 22 05/19/2024
9.10.44 18 05/18/2024
9.10.43 17 05/19/2024
9.10.42 15 05/17/2024
9.10.41 16 05/19/2024
9.10.40 18 05/19/2024
9.10.39 17 05/19/2024
9.10.38 17 05/18/2024
9.10.37 19 05/19/2024
9.10.36 14 05/18/2024
9.10.35 20 05/18/2024
9.10.34 17 05/18/2024
9.10.33 16 05/19/2024
9.10.32 18 05/18/2024
9.10.31 15 05/18/2024
9.10.30 16 05/19/2024
9.10.29 17 05/19/2024
9.10.28 17 05/19/2024
9.10.27 17 05/19/2024
9.10.26 18 05/19/2024
9.10.25 16 05/17/2024
9.10.24 20 05/19/2024
9.10.23 16 05/19/2024
9.10.22 17 05/18/2024
9.10.21 16 05/19/2024
9.10.20 19 05/19/2024
9.10.19 17 05/18/2024
9.10.18 15 05/18/2024
9.10.17 15 05/19/2024
9.10.16 16 05/19/2024
9.10.15 19 05/19/2024
9.10.14 18 05/19/2024
9.10.13 17 05/18/2024
9.10.12 16 05/19/2024
9.10.11 18 05/18/2024
9.10.10 17 05/19/2024
9.10.9 15 05/18/2024
9.10.8 17 05/19/2024
9.10.7 17 05/17/2024
9.10.6 15 05/18/2024
9.10.5 15 05/17/2024
9.10.4 13 05/19/2024
9.10.3 14 05/19/2024
9.10.2 19 05/19/2024
9.10.1 18 05/18/2024
9.10.0 17 05/19/2024
9.9.17 15 05/19/2024
9.9.16 17 05/19/2024
9.9.15 18 05/19/2024
9.9.14 15 05/19/2024
9.9.13 18 05/18/2024
9.9.12 18 05/18/2024
9.9.11 17 05/18/2024
9.9.10 20 05/18/2024
9.9.9 26 05/18/2024
9.9.8 22 05/18/2024
9.9.7 17 05/18/2024
9.9.6 20 05/19/2024
9.9.5 22 05/17/2024
9.9.4 24 05/18/2024
9.9.3 20 05/18/2024
9.9.2 22 05/18/2024
9.9.1 23 05/18/2024
9.9.0 25 05/19/2024
9.8.3 24 05/18/2024
9.8.2 23 05/19/2024
9.8.1 21 05/18/2024
9.8.0 22 05/19/2024
9.7.7 26 05/19/2024
9.7.6 23 05/18/2024
9.7.5 18 05/19/2024
9.7.3 18 05/19/2024
9.7.2 20 05/18/2024
9.7.1 23 05/19/2024
9.7.0 23 05/18/2024
9.6.5 22 05/17/2024
9.6.4 20 05/19/2024
9.6.3 22 05/18/2024
9.6.2 18 05/18/2024
9.6.1 21 05/19/2024
9.6.0 20 05/18/2024
9.5.4 24 05/18/2024
9.5.3 25 05/18/2024
9.5.2 19 05/18/2024
9.5.1 20 05/19/2024
9.5.0 21 05/19/2024
9.4.10 14 05/19/2024
9.4.9 24 05/19/2024
9.4.8 20 05/19/2024
9.4.7 20 05/19/2024
9.4.6 22 05/18/2024
9.4.5 21 05/19/2024
9.4.4 26 05/19/2024
9.4.3 21 05/18/2024
9.4.2 20 05/18/2024
9.4.1 20 05/19/2024
9.4.0 22 05/19/2024
9.3.2 20 05/18/2024
9.3.1 25 05/19/2024
9.3.0 23 05/19/2024
9.2.5 20 05/18/2024
9.2.4 22 05/18/2024
9.2.3 20 05/19/2024
9.2.2 21 05/24/2024
9.2.1 23 05/18/2024
9.2.0 23 05/18/2024
9.1.13 16 05/19/2024
9.1.12 18 05/18/2024
9.1.11 15 05/18/2024
9.1.10 17 05/18/2024
9.1.9 17 05/19/2024
9.1.8 18 05/19/2024
9.1.7 20 05/18/2024
9.1.6 18 05/19/2024
9.1.5 21 05/19/2024
9.1.4 20 05/19/2024
9.1.3 19 05/18/2024
9.1.2 22 05/19/2024
9.1.1 21 05/18/2024
9.1.0 24 05/18/2024
9.0.0 20 05/19/2024
8.34.6331.29195 16 05/17/2024
8.33.6323.36234 21 05/19/2024
8.32.6319.16954 17 05/18/2024
8.31.6318.20496 17 05/18/2024
8.30.6304.31907 23 05/19/2024
8.29.6304.29598 21 05/18/2024
8.28.6304.29323 16 05/19/2024
8.27.6302.16061 17 05/19/2024
8.26.6300.23803 20 05/19/2024
8.25.6298.25745 17 05/18/2024
8.24.6298.12188 20 05/18/2024
8.23.6298.10833 15 05/18/2024
8.22.6296.25118 18 05/19/2024
8.21.6296.23976 18 05/18/2024
8.20.6296.23156 17 05/19/2024
8.19.6295.40488 18 05/18/2024
8.18.6295.39662 17 05/18/2024
8.17.6295.16512 20 05/18/2024
8.16.6295.13544 19 05/18/2024
8.15.6294.28833 15 05/19/2024
8.14.6289.34376 17 05/18/2024
8.13.6288.31202 17 05/19/2024
8.12.6288.29376 16 05/18/2024
8.11.6284.26878 19 05/18/2024
8.10.6282.29590 16 05/18/2024
8.9.6275.22314 17 05/18/2024
8.8.6270.12850 18 05/18/2024
8.7.6267.38146 17 05/18/2024
8.6.6263.34639 16 05/19/2024
8.5.6255.20272 23 05/18/2024
8.4.6254.24670 16 05/19/2024
8.3.6252.27823 18 05/19/2024
8.2.6249.40706 17 05/19/2024
8.1.6249.15650 17 05/18/2024
8.0.6242.20256 19 05/18/2024
7.10.6235.25418 16 05/19/2024
7.9.6234.40183 20 05/19/2024
7.8.6234.39161 16 05/18/2024
7.7.6231.35505 20 05/18/2024
7.6.6221.22554 17 05/19/2024
7.5.6218.39592 18 05/19/2024
7.4.6218.34187 17 05/18/2024
7.3.6214.21001 17 05/17/2024
7.2.6206.27052 21 05/19/2024
7.1.6203.28289 17 05/18/2024
7.0.6201.32794 16 05/19/2024
6.8.6197.43076 16 05/19/2024
6.7.6197.28472 14 05/19/2024
6.6.6192.39836 20 05/19/2024
6.5.6190.16910 16 05/18/2024
6.4.6189.32876 19 05/19/2024
6.3.6185.19861 17 05/19/2024
6.2.6179.20107 16 05/19/2024
6.1.6179.17509 24 05/18/2024
6.0.6178.42031 16 05/19/2024
5.20.6175.31167 21 05/19/2024
5.19.6171.28316 17 05/19/2024
5.18.6170.22063 17 05/18/2024
5.17.6169.42629 19 05/19/2024
5.16.6156.29215 20 05/19/2024
5.15.6154.34583 18 05/18/2024
5.14.6153.20988 20 05/19/2024
5.13.6150.21323 18 05/19/2024
5.12.6149.950 17 05/19/2024
5.11.6148.42451 15 05/19/2024
5.10.6148.26189 18 05/19/2024
5.9.6144.17990 16 05/19/2024
5.8.6143.37542 18 05/19/2024
5.7.6142.39228 14 05/19/2024
5.6.6142.18206 17 05/18/2024
5.5.6138.25615 21 05/19/2024
5.5.6138.25231 18 05/18/2024
5.4.6138.25088 17 05/18/2024
5.4.6138.24413 16 05/18/2024
5.3.6137.40406 21 05/19/2024
5.2.6135.25892 17 05/19/2024
5.1.6130.30070 17 05/18/2024
5.0.6130.17623 17 05/19/2024
4.28.6128.27589 20 05/19/2024
4.27.6128.21479 19 05/19/2024
4.26.6123.28533 16 05/17/2024
4.25.6122.24179 21 05/19/2024
4.24.6122.15984 15 05/19/2024
4.23.6120.19206 20 05/18/2024
4.22.6120.18408 23 05/18/2024
4.21.6119.18329 19 05/19/2024
4.20.6119.18035 15 05/18/2024
4.19.6118.22551 17 05/18/2024
4.18.6117.31903 17 05/19/2024
4.17.6115.27875 17 05/17/2024
4.16.6115.26710 26 05/18/2024
4.15.6113.36675 16 05/18/2024
4.14.6108.28116 17 05/18/2024
4.13.6107.31016 17 05/18/2024
4.12.6103.41722 15 05/19/2024
4.11.6103.32936 21 05/19/2024
4.10.6103.22761 17 05/19/2024
4.9.6102.40549 18 05/19/2024
4.8.6094.34028 14 05/19/2024
4.7.6093.32380 22 05/18/2024
4.6.6093.13919 15 05/19/2024
4.5.6091.37159 18 05/18/2024
4.4.6091.25565 15 05/19/2024
4.3.6089.14049 16 05/18/2024
4.2.6085.38782 15 05/18/2024
4.1.6075.30950 18 05/19/2024
4.0.6074.30968 18 05/18/2024
3.4.6065.33501 20 05/19/2024
3.3.6061.16591 18 05/19/2024
3.2.6060.41151 16 05/19/2024
3.1.6058.33392 16 05/24/2024
3.0.6058.19298 17 05/19/2024
2.65.6055.39156 15 05/18/2024
2.64.6055.38772 19 05/19/2024
2.62.6049.40363 18 05/18/2024
2.61.6047.40645 16 05/19/2024
2.60.6043.38308 17 05/19/2024
2.59.6040.32733 16 05/18/2024
2.58.6038.30301 17 05/18/2024
2.57.6037.28395 17 05/19/2024
2.56.6036.39821 19 05/19/2024
2.55.6036.31334 20 05/19/2024
2.54.6032.25764 16 05/19/2024
2.53.6030.34287 20 05/19/2024
2.52.6030.13791 22 05/19/2024
2.51.6022.22788 20 05/18/2024
2.50.6019.27728 20 05/18/2024
2.49.6019.25465 18 05/19/2024
2.48.6012.40850 18 05/19/2024
2.47.6012.36610 21 05/19/2024
2.46.6012.18625 16 05/19/2024
2.45.6011.39986 16 05/18/2024
2.44.6011.37468 21 05/19/2024
2.43.6010.35601 22 05/19/2024
2.41.6006.20162 17 05/18/2024
2.40.6005.16497 18 05/18/2024
2.39.6004.37510 17 05/18/2024
2.38.6002.31139 18 05/19/2024
2.37.6002.13678 16 05/19/2024
2.36.6001.31067 20 05/19/2024
2.35.6000.32416 21 05/19/2024
2.34.6000.31960 20 05/19/2024
2.33.6000.30328 18 05/18/2024
2.32.6000.24909 24 05/18/2024
2.31.5998.34797 17 05/18/2024
2.30.5998.28513 18 05/19/2024
2.29.5997.39529 19 05/18/2024
2.28.5997.37673 14 05/18/2024
2.27.5995.31646 18 05/19/2024
2.26.5992.40824 18 05/19/2024
2.25.5989.40404 17 05/19/2024
2.24.5988.28093 19 05/18/2024
2.23.5984.32961 16 05/18/2024
2.22.5984.16718 15 05/18/2024
2.21.5981.35959 16 05/19/2024
2.20.5981.32983 21 05/18/2024
2.19.5978.21535 16 05/18/2024
2.18.5976.28451 17 05/19/2024
2.17.5976.27664 23 05/19/2024
2.16.5975.38442 13 05/19/2024
2.15.5970.28126 19 05/19/2024
2.14.5967.31320 18 05/19/2024
2.13.5966.35760 15 05/18/2024
2.12.5965.33915 16 05/19/2024
2.11.5963.475 18 05/19/2024
2.10.5958.25557 17 05/19/2024
2.9.5956.34079 19 05/19/2024
2.8.5956.13681 22 05/18/2024
2.7.5954.13236 16 05/18/2024
2.6.5946.13963 20 05/19/2024
2.5.5941.14559 14 05/18/2024
2.4.5940.38663 18 05/18/2024
2.3.5940.24970 17 05/18/2024
2.2.5940.22488 21 05/19/2024
2.1.5940.20330 15 05/19/2024
2.0.5928.2915 18 05/18/2024
1.39.5923.31344 19 05/18/2024
1.38.5920.30380 17 05/19/2024
1.37.5912.16400 17 05/18/2024
1.36.5908.3839 19 05/19/2024
1.35.5908.510 15 05/19/2024
1.34.5905.41330 16 05/18/2024
1.32.5904.40564 21 05/19/2024
1.31.5892.26482 20 05/18/2024
1.30.5878.31385 15 05/18/2024
1.29.5875.38536 17 05/18/2024
1.29.5875.38249 20 05/19/2024
1.29.5875.36303 21 05/19/2024
1.28.5872.19133 17 05/18/2024
1.27.5865.35297 16 05/19/2024
1.26.5864.35161 20 05/18/2024
1.25.5861.38103 17 05/19/2024
1.24.5858.29181 17 05/19/2024
1.23.5856.30578 20 05/19/2024
1.22.5836.1198 15 05/18/2024
1.21.5834.30412 18 05/18/2024
1.21.5831.34291 21 05/18/2024
1.21.5830.29525 18 05/19/2024
1.20.5829.20855 20 05/19/2024
1.20.5829.15819 17 05/19/2024
1.19.5828.20064 17 05/18/2024
1.19.5827.22433 16 05/18/2024
1.19.5824.3256 18 05/19/2024
1.18.5822.14857 18 05/19/2024
1.18.5821.36807 21 05/18/2024
1.17.5820.28488 16 05/19/2024
1.16.5820.27109 18 05/19/2024
1.15.5812.25746 18 05/18/2024
1.14.5811.24408 16 05/19/2024
1.13.5811.23634 20 05/18/2024
1.12.5801.29459 15 05/19/2024
1.11.5799.31778 15 05/18/2024
1.10.5779.31943 18 05/18/2024
1.9.5778.39698 16 05/18/2024
1.9.5778.38906 24 05/19/2024
1.9.5778.31079 17 05/18/2024
1.8.5777.37129 19 05/18/2024
1.8.5775.25810 21 05/18/2024
1.7.5770.30723 17 05/19/2024
1.6.5769.33302 22 05/18/2024
1.6.5765.33542 17 05/19/2024
1.6.5763.16697 17 05/18/2024
1.6.5760.32685 20 05/18/2024
1.6.5759.33134 15 05/18/2024
1.6.5758.30931 17 05/18/2024
1.6.5757.40238 17 05/19/2024
1.6.5751.15394 18 05/19/2024
1.5.5750.33915 21 05/18/2024
1.5.5750.33435 19 05/19/2024
1.4.5737.33581 17 05/19/2024
1.4.5732.34143 17 05/18/2024
1.4.5731.36730 17 05/17/2024
1.3.5731.34877 15 05/19/2024
1.2.5730.33570 15 05/18/2024
1.1.5729.33708 18 05/18/2024
1.0.5725.35303 16 05/18/2024
0.2.5707.34168 18 05/18/2024
0.2.5707.33650 15 05/19/2024
0.1.5585.25898 20 05/18/2024
0.1.5582.28800 16 05/21/2024