{
  "syntax": 3,
  "package": "tutorial",
  "imports": [],
  "enums": [],
  "messages": [{
    "name": "Person",
    "options": {},
    "enums": [{
      "name": "PhoneType",
      "values": {
        "MOBILE": {
          "value": 0,
          "options": {
            "some_enum_option": "true"
          }
        },
        "HOME": {
          "value": 1,
          "options": {}
        },
        "WORK": {
          "value": 2,
          "options": {}
        }
      },
      "options": {
        "allow_alias": true,
        "custom_option": true
      }
    }],
    "extends": [],
    "messages": [{
      "name": "PhoneNumber",
      "enums": [],
      "extends": [],
      "messages": [],
      "options": {},
      "fields": [{
        "name": "number",
        "type": "string",
        "tag": 1,
        "map": null,
        "oneof": null,
        "required": true,
        "repeated": false,
        "options": {}
      }, {
        "name": "type",
        "type": "PhoneType",
        "tag": 2,
        "map": null,
        "oneof": null,
        "required": false,
        "repeated": false,
        "options": {
          "default": "HOME"
        }
      }],
      "extensions": null
    }],
    "fields": [{
      "name": "name",
      "type": "string",
      "tag": 1,
      "map": null,
      "oneof": null,
      "required": true,
      "repeated": false,
      "options": {}
    }, {
      "name": "id",
      "type": "int32",
      "tag": 2,
      "map": null,
      "oneof": null,
      "required": true,
      "repeated": false,
      "options": {}
    }, {
      "name": "email",
      "type": "string",
      "tag": 3,
      "map": null,
      "oneof": null,
      "required": false,
      "repeated": false,
      "options": {}
    }, {
      "name": "phone",
      "type": "PhoneNumber",
      "tag": 4,
      "map": null,
      "oneof": null,
      "required": false,
      "repeated": true,
      "options": {}
    }],
    "extensions": null
  }, {
    "name": "AddressBook",
    "enums": [],
    "extends": [],
    "messages": [],
    "options": {},
    "fields": [{
      "name": "person",
      "type": "Person",
      "tag": 1,
      "map": null,
      "oneof": null,
      "required": false,
      "repeated": true,
      "options": {}
    }],
    "extensions": null
  }],
  "options": {
    "java_package": "com.mafintosh.generated",
    "java_outer_classname": "Example",
    "java_generate_equals_and_hash": true,
    "optimize_for": "SPEED"
  },
  "extends": []
}
