{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.percent_error.input.json",
  "title": "Percent error — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "observed": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "experimental": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "obsInput": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "O": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "o": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "true": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "theoretical": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "accepted": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "reference": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "trueInput": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "T": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "t": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ]
    },
    "percent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "percent_error": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "pctInput": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "P": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "p": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        },
        {
          "type": "string",
          "maxLength": 512,
          "pattern": "^\\s*$"
        }
      ],
      "x-unit": "%",
      "x-unit-id": "cx:percent",
      "x-quantity-kind": "ratio",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:percent",
        "revision": "1.0.0",
        "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
        "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
        "quantity_kind": "ratio",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "abs": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            0,
            1
          ]
        },
        {
          "type": "string",
          "maxLength": 64,
          "pattern": "^\\s*(?:0|[fF][aA][lL][sS][eE]|[oO][fF][fF]|[sS][iI][gG][nN][eE][dD]|[nN][oO]|1|[tT][rR][uU][eE]|[oO][nN]|[aA][bB][sS][oO][lL][uU][tT][eE]|[aA][bB][sS]|[yY][eE][sS])\\s*$"
        }
      ]
    },
    "absolute": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            0,
            1
          ]
        },
        {
          "type": "string",
          "maxLength": 64,
          "pattern": "^\\s*(?:0|[fF][aA][lL][sS][eE]|[oO][fF][fF]|[sS][iI][gG][nN][eE][dD]|[nN][oO]|1|[tT][rR][uU][eE]|[oO][nN]|[aA][bB][sS][oO][lL][uU][tT][eE]|[aA][bB][sS]|[yY][eE][sS])\\s*$"
        }
      ]
    },
    "useAbs": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            0,
            1
          ]
        },
        {
          "type": "string",
          "maxLength": 64,
          "pattern": "^\\s*(?:0|[fF][aA][lL][sS][eE]|[oO][fF][fF]|[sS][iI][gG][nN][eE][dD]|[nN][oO]|1|[tT][rR][uU][eE]|[oO][nN]|[aA][bB][sS][oO][lL][uU][tT][eE]|[aA][bB][sS]|[yY][eE][sS])\\s*$"
        }
      ]
    },
    "mode": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "enum": [
            0,
            1
          ]
        },
        {
          "type": "string",
          "maxLength": 64,
          "pattern": "^\\s*(?:0|[fF][aA][lL][sS][eE]|[oO][fF][fF]|[sS][iI][gG][nN][eE][dD]|[nN][oO]|1|[tT][rR][uU][eE]|[oO][nN]|[aA][bB][sS][oO][lL][uU][tT][eE]|[aA][bB][sS]|[yY][eE][sS])\\s*$"
        }
      ]
    },
    "solve_for": {
      "enum": [
        "p",
        "percent",
        "percent_error",
        "pct",
        "o",
        "observed",
        "experimental",
        "t",
        "true",
        "theoretical",
        "accepted",
        "reference"
      ]
    },
    "solveFor": {
      "enum": [
        "p",
        "percent",
        "percent_error",
        "pct",
        "o",
        "observed",
        "experimental",
        "t",
        "true",
        "theoretical",
        "accepted",
        "reference"
      ]
    }
  },
  "anyOf": [
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "observed"
              ],
              "properties": {
                "observed": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "experimental"
              ],
              "properties": {
                "experimental": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "obsInput"
              ],
              "properties": {
                "obsInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "O"
              ],
              "properties": {
                "O": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "o"
              ],
              "properties": {
                "o": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "true"
              ],
              "properties": {
                "true": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "theoretical"
              ],
              "properties": {
                "theoretical": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "accepted"
              ],
              "properties": {
                "accepted": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "reference"
              ],
              "properties": {
                "reference": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "trueInput"
              ],
              "properties": {
                "trueInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "T"
              ],
              "properties": {
                "T": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "t"
              ],
              "properties": {
                "t": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            }
          ]
        }
      ]
    },
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "true"
              ],
              "properties": {
                "true": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "theoretical"
              ],
              "properties": {
                "theoretical": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "accepted"
              ],
              "properties": {
                "accepted": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "reference"
              ],
              "properties": {
                "reference": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "trueInput"
              ],
              "properties": {
                "trueInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "T"
              ],
              "properties": {
                "T": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "t"
              ],
              "properties": {
                "t": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "percent"
              ],
              "properties": {
                "percent": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "percent_error"
              ],
              "properties": {
                "percent_error": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "pctInput"
              ],
              "properties": {
                "pctInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "P"
              ],
              "properties": {
                "P": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "p"
              ],
              "properties": {
                "p": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "pct"
              ],
              "properties": {
                "pct": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            }
          ]
        }
      ]
    },
    {
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "observed"
              ],
              "properties": {
                "observed": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "experimental"
              ],
              "properties": {
                "experimental": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "obsInput"
              ],
              "properties": {
                "obsInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "O"
              ],
              "properties": {
                "O": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            },
            {
              "required": [
                "o"
              ],
              "properties": {
                "o": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "percent"
              ],
              "properties": {
                "percent": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "percent_error"
              ],
              "properties": {
                "percent_error": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "pctInput"
              ],
              "properties": {
                "pctInput": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "P"
              ],
              "properties": {
                "P": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "p"
              ],
              "properties": {
                "p": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            },
            {
              "required": [
                "pct"
              ],
              "properties": {
                "pct": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "maxLength": 512,
                      "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                    }
                  ],
                  "x-unit": "%",
                  "x-unit-id": "cx:percent",
                  "x-quantity-kind": "ratio",
                  "x-role": "scalar",
                  "x-dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "x-uuce-unit": {
                    "unit_id": "cx:percent",
                    "revision": "1.0.0",
                    "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                    "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                    "quantity_kind": "ratio",
                    "dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "registry_version": "0.3.0-preview.3",
                    "digest_contract": "calculatorx-unit-definition-digests-v2",
                    "registry_status": "preview",
                    "definition_lifecycle": "candidate",
                    "role": "scalar"
                  }
                }
              }
            }
          ]
        }
      ]
    }
  ],
  "allOf": [
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "p"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "p"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "percent"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "percent"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "percent_error"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "percent_error"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "pct"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "pct"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "o"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "o"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "observed"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "observed"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "experimental"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "experimental"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "true"
                ],
                "properties": {
                  "true": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "theoretical"
                ],
                "properties": {
                  "theoretical": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "accepted"
                ],
                "properties": {
                  "accepted": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "reference"
                ],
                "properties": {
                  "reference": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "trueInput"
                ],
                "properties": {
                  "trueInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "T"
                ],
                "properties": {
                  "T": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "t"
                ],
                "properties": {
                  "t": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "t"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "t"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "true"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "true"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "theoretical"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "theoretical"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "accepted"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "accepted"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solve_for"
        ],
        "properties": {
          "solve_for": {
            "const": "reference"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "required": [
          "solveFor"
        ],
        "properties": {
          "solveFor": {
            "const": "reference"
          }
        }
      },
      "then": {
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "observed"
                ],
                "properties": {
                  "observed": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "experimental"
                ],
                "properties": {
                  "experimental": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "obsInput"
                ],
                "properties": {
                  "obsInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "O"
                ],
                "properties": {
                  "O": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              },
              {
                "required": [
                  "o"
                ],
                "properties": {
                  "o": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ]
                  }
                }
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "percent"
                ],
                "properties": {
                  "percent": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "percent_error"
                ],
                "properties": {
                  "percent_error": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pctInput"
                ],
                "properties": {
                  "pctInput": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "P"
                ],
                "properties": {
                  "P": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "p"
                ],
                "properties": {
                  "p": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              },
              {
                "required": [
                  "pct"
                ],
                "properties": {
                  "pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "maxLength": 512,
                        "pattern": "^\\s*[+-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
                      }
                    ],
                    "x-unit": "%",
                    "x-unit-id": "cx:percent",
                    "x-quantity-kind": "ratio",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:percent",
                      "revision": "1.0.0",
                      "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
                      "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
                      "quantity_kind": "ratio",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ],
  "description": "Finite binary64 decimal numbers or strings up to512 characters. Two fields solve p/o/t; all three verify8ULP same-sign nonzero percentage consistency with strict zero. Matching aliases and explicit absolute/signed policy. T≠0; exact infinite endpoints. Every valid inverse branch/secondary value must fit binary64; rescale on NUMERIC_RANGE. Requested P and achieved P differ after candidate rounding; inspect resolution_limited and every branch. (calculation_version 1.2.0)",
  "x-unit-contract": {
    "protocol": "calculatorx-field-unit-contract-v1",
    "capability_id": "math.percent_error",
    "registry_version": "0.3.0-preview.3",
    "declaration_scope": "Field/branch declarations only; inactive fields are not asserted to exist. No conversion-engine migration or new numerical certification.",
    "path_format": "Paths relative to inputs or result_detail.value; dot separates properties, * denotes array items, $ denotes a scalar result.",
    "inputs": {
      "percent": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "percent_error": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "p": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "P": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "pct": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "pctInput": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "outputs": {
      "percent_error": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "signed_percent_error": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "achieved_percent_error": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "entered_percent_error": {
        "unit": "%",
        "reference": {
          "unit_id": "cx:percent",
          "revision": "1.0.0",
          "content_digest": "f73c887f011a6f997b183701a1b03417b3c89a863747910a54ae79c6a6b9f963",
          "dependency_digest": "58d9bc109880e0c8ea6d45264fbba933f64a17cf17586d2a8dbbf7cbea14566d",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "relative_error": {
        "unit": "1",
        "reference": {
          "unit_id": "cx:one",
          "revision": "1.0.0",
          "content_digest": "98cc3ffc58d8733c483b60c4d7e238fe8ad43a6aadcced9496b74f33a01ef599",
          "dependency_digest": "b1c9aa4d586949ee881925298442091ba11dda29f57de0867e43da1cd59e06e5",
          "quantity_kind": "ratio",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "scalar_result_policy": "value/candidates are percentages only when solving percentage error; inverse observed/accepted values and absolute_error inherit the quantity unit."
  }
}
