{
    "id": "http://schemas.triniti.io/json-schema/gdbots/contexts/user-agent/1-0-0.json#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "_schema": {
            "type": "string",
            "pattern": "^pbj:([a-z0-9-]+):([a-z0-9\\.-]+):([a-z0-9-]+)?:([a-z0-9-]+):([0-9]+-[0-9]+-[0-9]+)$",
            "default": "pbj:gdbots:contexts::user-agent:1-0-0"
        },
        "br_family": {
            "type": "string",
            "pattern": ".+",
            "pbj": {
                "type": "string",
                "rule": "single"
            }
        },
        "br_major": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "br_minor": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "br_patch": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "os_family": {
            "type": "string",
            "pattern": ".+",
            "pbj": {
                "type": "string",
                "rule": "single"
            }
        },
        "os_major": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "os_minor": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "os_patch": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "os_patch_minor": {
            "type": "integer",
            "default": 0,
            "minimum": 0,
            "maximum": 65535,
            "pbj": {
                "type": "small-int",
                "rule": "single"
            }
        },
        "dvce_family": {
            "type": "string",
            "pattern": ".+",
            "pbj": {
                "type": "string",
                "rule": "single"
            }
        }
    },
    "required": [
        "_schema"
    ],
    "additionalProperties": false
}