id: http://json-schema.org/draft-04/schema#
$schema: http://json-schema.org/draft-04/schema#
description: Core schema meta-schema
definitions:
  schemaArray:
    type: array
    minItems: 1
    items:
      $ref: '#'
  positiveInteger:
    type: integer
    minimum: 0
  positiveIntegerDefault0:
    allOf:
    - $ref: '#/definitions/positiveInteger'
    - default: 0
  simpleTypes:
    enum:
    - array
    - boolean
    - integer
    - 'null'
    - number
    - object
    - string
  stringArray:
    type: array
    items:
      type: string
    minItems: 1
    uniqueItems: true
type: object
properties:
  id:
    type: string
  $schema:
    type: string
  title:
    type: string
  description:
    type: string
  default: {}
  multipleOf:
    type: number
    minimum: 0
    exclusiveMinimum: true
  maximum:
    type: number
  exclusiveMaximum:
    type: boolean
    default: false
  minimum:
    type: number
  exclusiveMinimum:
    type: boolean
    default: false
  maxLength:
    $ref: '#/definitions/positiveInteger'
  minLength:
    $ref: '#/definitions/positiveIntegerDefault0'
  pattern:
    type: string
    format: regex
  additionalItems:
    anyOf:
    - type: boolean
    - $ref: '#'
    default: {}
  items:
    anyOf:
    - $ref: '#'
    - $ref: '#/definitions/schemaArray'
    default: {}
  maxItems:
    $ref: '#/definitions/positiveInteger'
  minItems:
    $ref: '#/definitions/positiveIntegerDefault0'
  uniqueItems:
    type: boolean
    default: false
  maxProperties:
    $ref: '#/definitions/positiveInteger'
  minProperties:
    $ref: '#/definitions/positiveIntegerDefault0'
  required:
    $ref: '#/definitions/stringArray'
  additionalProperties:
    anyOf:
    - type: boolean
    - $ref: '#'
    default: {}
  definitions:
    type: object
    additionalProperties:
      $ref: '#'
    default: {}
  properties:
    type: object
    additionalProperties:
      $ref: '#'
    default: {}
  patternProperties:
    type: object
    additionalProperties:
      '$ref': '#'
    default: {}
  dependencies:
    type: object
    additionalProperties:
      anyOf:
      - $ref: '#'
      - $ref: '#/definitions/stringArray'
  enum:
    type: array
    minItems: 1
    uniqueItems: true
  type:
    anyOf:
    - $ref: '#/definitions/simpleTypes'
    - type: array
      items:
        $ref: '#/definitions/simpleTypes'
      minItems: 1
      uniqueItems: true
  format:
    type: string
  allOf:
    $ref: '#/definitions/schemaArray'
  anyOf:
    $ref: '#/definitions/schemaArray'
  oneOf:
    $ref: '#/definitions/schemaArray'
  not:
    $ref: '#'
dependencies:
  exclusiveMaximum:
  - maximum
  exclusiveMinimum:
  - minimum
default: {}
