{
    "type": "object",
    "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
    "options": {
        "propertyEncodings": {
            "foo": {
                "type": "array",
                "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                "options": {
                    "minimum": 0,
                    "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                            "minimum": 0
                        }
                    },
                    "prefixEncodings": []
                }
            },
            "main": {
                "type": "object",
                "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
                "options": {
                    "propertyEncodings": {
                        "files": {
                            "type": "object",
                            "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
                            "options": {
                                "propertyEncodings": {},
                                "requiredProperties": [],
                                "booleanRequiredProperties": []
                            }
                        },
                        "src": {
                            "type": "array",
                            "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                            "options": {
                                "minimum": 0,
                                "encoding": {
                                    "type": "string",
                                    "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                                    "options": {
                                        "minimum": 0
                                    }
                                },
                                "prefixEncodings": []
                            }
                        }
                    },
                    "requiredProperties": [
                        "files",
                        "src"
                    ],
                    "booleanRequiredProperties": []
                }
            },
            "options": {
                "type": "enum",
                "encoding": "BOUNDED_CHOICE_INDEX",
                "options": {
                    "choices": [
                        {
                            "force": false,
                            "no-write": false
                        },
                        {
                            "force": false,
                            "no-write": true
                        },
                        {
                            "force": true,
                            "no-write": false
                        },
                        {
                            "force": true,
                            "no-write": true
                        }
                    ]
                }
            }
        },
        "requiredProperties": [
            "foo",
            "main",
            "options"
        ],
        "booleanRequiredProperties": []
    }
}
