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.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
39
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
37
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
35
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
32
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
32
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
30
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
30
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
30
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
29
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
29
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
29
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
29
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
28
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
28

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

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