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
34
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
26
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
23
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
22
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
22
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
21
NSwag.CodeGeneration
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
21
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
20
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
20
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
20
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
19
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
19
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
19
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET
19
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
19
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
19

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

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