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 draft v4 reader, generator and validator for .NET
142
NJsonSchema.CodeGeneration.CSharp
JSON Schema draft v4 reader, generator and validator for .NET
147
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
144
NJsonSchema.CodeGeneration.CSharp
JSON Schema reader, generator and validator for .NET
146
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
148
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
142
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
149
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
185
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
144
NSwag.AssemblyLoader
NSwag: The Swagger API toolchain for .NET and TypeScript
147
NSwag.CodeGeneration
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
142
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
142
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
144
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
149
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
141
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
145
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
148
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
142

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

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