[
  {
    "type": "error",
    "name": "Overflow",
    "inputs": []
  },
  {
    "type": "error",
    "name": "DivisionByZero",
    "inputs": []
  },
  {
    "type": "error",
    "name": "OutOfRange",
    "inputs": []
  },
  {
    "type": "function",
    "name": "fromFixed18",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "toFixed18",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "toFixed18Down",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "toFixed18Up",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "add",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "sub",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "mul",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "div",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "mulDown",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "mulUp",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "divDown",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "divUp",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "sqrt",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "cbrt",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "gavg",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "hypot",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "inv",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "abs",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "neg",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "sign",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "min",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "max",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "clamp",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "lo",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "hi",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "avg",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "zeroFloorSub",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "dist",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "lerp",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "a",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "b",
        "internalType": "int256"
      },
      {
        "type": "int256",
        "name": "t",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "floor",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "ceil",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "frac",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "round",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "x",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  },
  {
    "type": "function",
    "name": "factorial",
    "stateMutability": "pure",
    "inputs": [
      {
        "type": "int256",
        "name": "n",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "type": "int256",
        "name": "r",
        "internalType": "int256"
      }
    ]
  }
]
