{
  "type": "object",
  "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
  "options": {
    "propertyEncodings": {
      "rules": {
        "type": "object",
        "encoding": "REQUIRED_ONLY_BOUNDED_TYPED_OBJECT",
        "options": {
          "propertyEncodings": {
            "scope-case": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 3,
                "maximum": 3,
                "prefixEncodings": [
                  {
                    "type": "integer",
                    "encoding": "FLOOR_MULTIPLE_ENUM_VARINT",
                    "options": {
                      "minimum": 0,
                      "multiplier": 1
                    }
                  },
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "always",
                        "never"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            },
            "subject-case": {
              "type": "array",
              "encoding": "BOUNDED_8BITS_TYPED_LENGTH_PREFIX",
              "options": {
                "minimum": 3,
                "maximum": 3,
                "prefixEncodings": [
                  {
                    "type": "integer",
                    "encoding": "FLOOR_MULTIPLE_ENUM_VARINT",
                    "options": {
                      "minimum": 0,
                      "multiplier": 1
                    }
                  },
                  {
                    "type": "enum",
                    "encoding": "BOUNDED_CHOICE_INDEX",
                    "options": {
                      "choices": [
                        "always",
                        "never"
                      ]
                    }
                  },
                  {
                    "type": "array",
                    "encoding": "FLOOR_TYPED_LENGTH_PREFIX",
                    "options": {
                      "minimum": 0,
                      "encoding": {
                        "type": "string",
                        "encoding": "FLOOR_PREFIX_LENGTH_ENUM_VARINT",
                        "options": {
                          "minimum": 0
                        }
                      },
                      "prefixEncodings": []
                    }
                  }
                ],
                "encoding": {
                  "type": "any",
                  "encoding": "ANY_PACKED_TYPE_TAG_BYTE_PREFIX",
                  "options": {}
                }
              }
            }
          },
          "requiredProperties": [
            "scope-case",
            "subject-case"
          ],
          "booleanRequiredProperties": []
        }
      }
    },
    "requiredProperties": [
      "rules"
    ],
    "booleanRequiredProperties": []
  }
}
