This part is the JSON data generation guide. You must produce JSON responses of Person data class that strictly conform to the specified schema below.

## Top-Level Model - Person

Person is a data class which represent a person and its data fields, briefly like this

```puml
class Person:
    name: string
    age: integer
    hobbies: array of str
    email: string, optional
```

Here is the detailed fields and constraints information of Person class:

- **name** (string, required)
  - Type: string
  - Must be provided
  - Constraints:
    - Length must not be less than 1
    - Length must not be greater than 50

- **age** (integer, required)
  - Type: integer
  - Must be provided
  - Constraints:
    - Value should not be less than 0
    - Value should not be greater than 150

- **hobbies** (array, required)
  - Type: array of strings
  - Must be provided
  - For each element:
    - Type: string
    - Must be provided
    - Constraints:
      - Length must noe be less than 1
      - Length must not be greater than 30
  - Constraints:
    - Number of the elements should be no greater than 10

- **email** (string, optional)
  - Type: string or null
  - May be omitted or set to null
  - When provided, must be a string
  - Constraints:
    - Must contain substring '@'
    - Length Must be no greater than 100
    - Must follow the common email format pattern

## JSON Output Format

Your response must be a valid JSON object with exactly these fields. Example structure:

```json
{
  "name": "Henry",
  "age": 24,
  "hobbies": ["Coding", "Debugging"],
  "email": "henry@gmail.com"
}
```

## Output Requirements

- No extra fields: Do not include any fields not defined in the schema
- Generate only valid JSON
- Do not include comments, explanations, or markdown formatting
- Ensure proper JSON syntax with correct quotes, commas, and brackets
- All string values must be enclosed in double quotes
- Integer values must not be quoted
- Null values must be lowercase `null`

## MAKE SURE YOUR OUTPUT IS CLEAN

- Just output the JSON data generated, do not including anything (including but not limited to explainations, comments, markdown codeblocks or something) else.
- We will process this output with Python code, so you must obey this rule to make sure we can properly process your output.
