{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IOracle",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_AgainstTurnToEqualize",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_AlreadyResolved",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_ForTurnToEqualize",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_MustBeResolved",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_NotEscalated",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_NotResolved",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_PledgingPhaseNotOver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BondEscalationResolutionModule_PledgingPhaseOver",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Module_OnlyOracle",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "DisputeEscalated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeResolved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_pledgeReleased",
          "type": "uint256"
        }
      ],
      "name": "PledgeClaimedDisputerLost",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_pledgeReleased",
          "type": "uint256"
        }
      ],
      "name": "PledgeClaimedDisputerWon",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_pledgeReleased",
          "type": "uint256"
        }
      ],
      "name": "PledgeClaimedNoResolution",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_pledgedAmount",
          "type": "uint256"
        }
      ],
      "name": "PledgedAgainstDispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_pledgedAmount",
          "type": "uint256"
        }
      ],
      "name": "PledgedForDispute",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "RequestFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "ResolutionStarted",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "BASE",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ORACLE",
      "outputs": [
        {
          "internalType": "contract IOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "claimPledge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "decodeRequestData",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract IBondEscalationAccounting",
              "name": "accountingExtension",
              "type": "address"
            },
            {
              "internalType": "contract IERC20",
              "name": "bondToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "percentageDiff",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "pledgeThreshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "timeUntilDeadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "timeToBreakInequality",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBondEscalationResolutionModule.RequestParameters",
          "name": "_params",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "escalations",
      "outputs": [
        {
          "internalType": "enum IBondEscalationResolutionModule.Resolution",
          "name": "resolution",
          "type": "uint8"
        },
        {
          "internalType": "uint128",
          "name": "startTime",
          "type": "uint128"
        },
        {
          "internalType": "uint256",
          "name": "pledgesFor",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "pledgesAgainst",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "finalizeRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "inequalityData",
      "outputs": [
        {
          "internalType": "enum IBondEscalationResolutionModule.InequalityStatus",
          "name": "inequalityStatus",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "time",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moduleName",
      "outputs": [
        {
          "internalType": "string",
          "name": "_moduleName",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_pledgeAmount",
          "type": "uint256"
        }
      ],
      "name": "pledgeAgainstDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_pledgeAmount",
          "type": "uint256"
        }
      ],
      "name": "pledgeForDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        }
      ],
      "name": "pledgesAgainstDispute",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pledges",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_pledger",
          "type": "address"
        }
      ],
      "name": "pledgesForDispute",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pledges",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "requestData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "_requestData",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "resolveDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "setupRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "startResolution",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60a060405234801561001057600080fd5b50604051620021d9380380620021d983398101604081905261003191610042565b6001600160a01b0316608052610072565b60006020828403121561005457600080fd5b81516001600160a01b038116811461006b57600080fd5b9392505050565b608051612113620000c6600039600081816101d1015281816102ef01528181610abe01528181610b4d015281816111550152818161128c0152818161146b015281816118d5015261195e01526121136000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80634d610a46116100b2578063d0f27f7811610081578063ec342ad011610066578063ec342ad014610385578063ef940cef14610394578063f1c2fb31146103bf57600080fd5b8063d0f27f781461035f578063d96dd0e71461037257600080fd5b80634d610a46146102745780637dc0d1d0146102ed57806393f0899a14610313578063c8218e3e1461034c57600080fd5b8063325fff12116100ee578063325fff12146101995780633661346b146101ac57806338013f02146101cc5780634cf3ad6a1461021857600080fd5b8063076404dc1461012057806315dff0b21461015e5780632e76be2a14610173578063309de60714610186575b600080fd5b61014b61012e366004611abf565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b61017161016c366004611aef565b6103fa565b005b610171610181366004611b11565b610aa6565b610171610194366004611abf565b610b35565b6101716101a7366004611b8d565b610ba8565b6101bf6101ba366004611bb9565b610f8e565b6040516101559190611c36565b6101f37f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610155565b610264610226366004611bb9565b600160208190526000918252604090912080549181015460029091015460ff83169261010090046fffffffffffffffffffffffffffffffff16919084565b6040516101559493929190611c7f565b610287610282366004611bb9565b611028565b6040516101559190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b7f00000000000000000000000000000000000000000000000000000000000000006101f3565b60408051808201909152601e81527f426f6e64457363616c6174696f6e5265736f6c7574696f6e4d6f64756c65000060208201526101bf565b61017161035a366004611bb9565b61113d565b61017161036d366004611b8d565b61151a565b610171610380366004611bb9565b6118bd565b61014b670de0b6b3a764000081565b61014b6103a2366004611abf565b600460209081526000928352604080842090915290825290205481565b6103ec6103cd366004611bb9565b6002602052600090815260409020805460019091015460ff9091169082565b604051610155929190611cc1565b600081815260016020526040812090815460ff16600381111561041f5761041f611c50565b03610456576040517f566c144400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061046184611028565b905060008080806001865460ff16600381111561048057610480611c50565b0361061257600087815260036020908152604080832033845290915281208054955085916104ae8380611d0e565b925050819055506104cc84670de0b6b3a76400008860010154611a5e565b92506104e5866002015484670de0b6b3a7640000611a5e565b90506104f18482611d21565b855160208701516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905233604482015273ffffffffffffffffffffffffffffffffffffffff91821660648201526084810184905292945016906322cfb00a9060a401600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff1687897f9f1880abedc93d28d7617e71c5fdb584b015a30266e3b627a7600f2049600e4988602001518660405161060592919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4610a9c565b6002865460ff16600381111561062a5761062a611c50565b036107af57600087815260046020908152604080832033845290915281208054955085916106588380611d0e565b9250508190555061067684670de0b6b3a76400008860020154611a5e565b925061068f866001015484670de0b6b3a7640000611a5e565b905061069b8482611d21565b855160208701516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905233604482015273ffffffffffffffffffffffffffffffffffffffff91821660648201526084810184905292945016906322cfb00a9060a401600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff1687897f463c38d924bd1031eca8fa19d48beb9daf29e22ec2a6a86427d042853ff07f7988602001518660405161060592919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6003865460ff1660038111156107c7576107c7611c50565b03610a9c57600087815260036020908152604080832033808552908352818420548b855260048452828520918552925290912054811561094a5760008981526003602090815260408083203384529091528120805484929061082a908490611d0e565b9091555050865160208801516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018d9052602481018c905233604482015273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018590529116906322cfb00a9060a401600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16898b7fe4e6a266498257f8c68a2fd6cc5fd56d8c0774cfec41a36972c4c4cf7ad173dd8a602001518660405161094192919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a45b8015610a9957600089815260046020908152604080832033845290915281208054839290610979908490611d0e565b9091555050865160208801516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018d9052602481018c905233604482015273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018490529116906322cfb00a9060a401600060405180830381600087803b158015610a0957600080fd5b505af1158015610a1d573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16898b7fe4e6a266498257f8c68a2fd6cc5fd56d8c0774cfec41a36972c4c4cf7ad173dd8a6020015185604051610a9092919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a45b50505b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b15576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152602081905260409020610b2e828483611e04565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ba4576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000828152600160205260408120805490916101009091046fffffffffffffffffffffffffffffffff169003610c0a576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260026020526040812090610c2286611028565b60808101518454919250600091610c50919061010090046fffffffffffffffffffffffffffffffff16611d21565b9050804210610c8b576040517f2f4b3b7600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600183015415801590610cb157508160a001518360010154610cad9190611d21565b4210155b15610ce8576040517fcafa63c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001835460ff166002811115610d0057610d00611c50565b03610d37576040517fe8888e8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5083836002016000828254610d4c9190611d21565b9091555050600085815260046020908152604080832033845290915281208054869290610d7a908490611d21565b909155505060028301546001840154600091610d9591611d21565b825160208401516040517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018b9052604481018a905273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018990529293501690632c61d33c9060a401600060405180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b5050505085873373ffffffffffffffffffffffffffffffffffffffff167f12fb8ac1b6aec408dcd02480fd2989dc125647ee9f5de9bc4cb5d323a334ec9088604051610e8491815260200190565b60405180910390a481606001518110610f8557600284015460018501546000610eb682670de0b6b3a764000086611a5e565b90506000610ecd84670de0b6b3a764000087611a5e565b90506000610edb8284611f1f565b90506000610ee98484611f1f565b905060006064670de0b6b3a76400008a60400151610f079190611f46565b610f119190611f5d565b9050808312610f2a575050505050505050505050505050565b808212610f4f5789546001908b9060ff191682805b02179055504260018b0155610f7d565b60025b8a5460ff166002811115610f6857610f68611c50565b03610f7d57895460ff19168a55600060018b01555b505050505050505b50505050505050565b60006020819052908152604090208054610fa790611d63565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd390611d63565b80156110205780601f10610ff557610100808354040283529160200191611020565b820191906000526020600020905b81548152906001019060200180831161100357829003601f168201915b505050505081565b61108d6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b600082815260208190526040902080546110a690611d63565b80601f01602080910402602001604051908101604052809291908181526020018280546110d290611d63565b801561111f5780601f106110f45761010080835404028352916020019161111f565b820191906000526020600020905b81548152906001019060200180831161110257829003601f168201915b50505050508060200190518101906111379190611fc1565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111ac576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260016020526040812090815460ff1660038111156111d1576111d1611c50565b14611208576040517fc9fc24e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046fffffffffffffffffffffffffffffffff1660000361125a576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018390526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa1580156112e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c919061202f565b608001519050600061131d82611028565b600085815260026020526040812060a0830151600182015493945090926113449190611d21565b60808401518654919250600091611372919061010090046fffffffffffffffffffffffffffffffff16611d21565b9050804210801561138257508142105b156113b9576040517f93d9e9c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001860154600287015460006113cf8284611d21565b9050600087606001518210806113e457508284145b156113fc5750885460ff19166003178955600561142e565b828411156114175750885460ff19166001178955600361142e565b8383111561142e5750885460ff1916600217895560045b6040517f0c1d0c2300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630c1d0c23906114a2908e9085906004016120bb565b600060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050508a897facf2c682b2b1589bd6e7b4d197866c0cec809c4bb9b5d48faa792f61119c21748360405161150591906120cf565b60405180910390a35050505050505050505050565b6000828152600160205260408120805490916101009091046fffffffffffffffffffffffffffffffff16900361157c576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526002602052604081209061159486611028565b608081015184549192506000916115c2919061010090046fffffffffffffffffffffffffffffffff16611d21565b90508042106115fd576040517f2f4b3b7600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301541580159061162357508160a00151836001015461161f9190611d21565b4210155b1561165a576040517fcafa63c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002835460ff16600281111561167257611672611c50565b036116a9576040517fdf00e0d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50838360010160008282546116be9190611d21565b90915550506000858152600360209081526040808320338452909152812080548692906116ec908490611d21565b90915550506002830154600184015460009161170791611d21565b825160208401516040517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018b9052604481018a905273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018990529293501690632c61d33c9060a401600060405180830381600087803b15801561179457600080fd5b505af11580156117a8573d6000803e3d6000fd5b5050505085873373ffffffffffffffffffffffffffffffffffffffff167fa9af81e4f33c7084dbc899560ab7e5a7208985341f876e4fd141e53656948e5d886040516117f691815260200190565b60405180910390a481606001518110610f855760018401546002850154600061182883670de0b6b3a764000086611a5e565b9050600061183f83670de0b6b3a764000087611a5e565b9050600061184d8284611f1f565b9050600061185b8484611f1f565b905060006064670de0b6b3a76400008a604001516118799190611f46565b6118839190611f5d565b905080821261189c575050505050505050505050505050565b8083126118b65789546002908b9060ff1916600183610f3f565b6001610f52565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461192c576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa1580156119ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119de919061202f565b6080015160008381526001602052604080822080547fffffffffffffffffffffffffffffff00000000000000000000000000000000ff16610100426fffffffffffffffffffffffffffffffff160217905551919250839183917fa2f6597c7891ed1ab3ef69d45be7ed7d15a175b822b2227e64f933b7eb0b051b91a35050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0484118302158202611a9357600080fd5b5091020490565b73ffffffffffffffffffffffffffffffffffffffff81168114611abc57600080fd5b50565b60008060408385031215611ad257600080fd5b823591506020830135611ae481611a9a565b809150509250929050565b60008060408385031215611b0257600080fd5b50508035926020909101359150565b600080600060408486031215611b2657600080fd5b83359250602084013567ffffffffffffffff80821115611b4557600080fd5b818601915086601f830112611b5957600080fd5b813581811115611b6857600080fd5b876020828501011115611b7a57600080fd5b6020830194508093505050509250925092565b600080600060608486031215611ba257600080fd5b505081359360208301359350604090920135919050565b600060208284031215611bcb57600080fd5b5035919050565b6000815180845260005b81811015611bf857602081850181015186830182015201611bdc565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611c496020830184611bd2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6080810160048610611c9357611c93611c50565b9481526fffffffffffffffffffffffffffffffff939093166020840152604083019190915260609091015290565b6040810160038410611cd557611cd5611c50565b9281526020015290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561113757611137611cdf565b8082018082111561113757611137611cdf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680611d7757607f821691505b602082108103611db0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b3057600081815260208120601f850160051c81016020861015611ddd5750805b601f850160051c820191505b81811015611dfc57828155600101611de9565b505050505050565b67ffffffffffffffff831115611e1c57611e1c611d34565b611e3083611e2a8354611d63565b83611db6565b6000601f841160018114611e825760008515611e4c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611f18565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ed15786850135825560209485019460019092019101611eb1565b5086821015611f0c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8181036000831280158383131683831282161715611f3f57611f3f611cdf565b5092915050565b808202811582820484141761113757611137611cdf565b600082611f93577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60405160c0810167ffffffffffffffff81118282101715611fbb57611fbb611d34565b60405290565b600060c08284031215611fd357600080fd5b611fdb611f98565b8251611fe681611a9a565b81526020830151611ff681611a9a565b8060208301525060408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b600060c0828403121561204157600080fd5b612049611f98565b82518152602083015161205b81611a9a565b6020820152604083015161206e81611a9a565b80604083015250606083015160608201526080830151608082015260a08301516006811061209b57600080fd5b60a08201529392505050565b600681106120b7576120b7611c50565b9052565b82815260408101611c4960208301846120a7565b6020810161113782846120a756fea2646970667358221220b46548f930300d8d3df5ffe58436b64338ea281f85a04fb8b318fcf5766f622864736f6c63430008130033",
    "sourceMap": "842:12849:51:-:0;;;1629:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;353:16:0;;;842:12849:51;;14:306:113;100:6;153:2;141:9;132:7;128:23;124:32;121:52;;;169:1;166;159:12;121:52;195:16;;-1:-1:-1;;;;;240:31:113;;230:42;;220:70;;286:1;283;276:12;220:70;309:5;14:306;-1:-1:-1;;;14:306:113:o;:::-;842:12849:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c80634d610a46116100b2578063d0f27f7811610081578063ec342ad011610066578063ec342ad014610385578063ef940cef14610394578063f1c2fb31146103bf57600080fd5b8063d0f27f781461035f578063d96dd0e71461037257600080fd5b80634d610a46146102745780637dc0d1d0146102ed57806393f0899a14610313578063c8218e3e1461034c57600080fd5b8063325fff12116100ee578063325fff12146101995780633661346b146101ac57806338013f02146101cc5780634cf3ad6a1461021857600080fd5b8063076404dc1461012057806315dff0b21461015e5780632e76be2a14610173578063309de60714610186575b600080fd5b61014b61012e366004611abf565b600360209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b61017161016c366004611aef565b6103fa565b005b610171610181366004611b11565b610aa6565b610171610194366004611abf565b610b35565b6101716101a7366004611b8d565b610ba8565b6101bf6101ba366004611bb9565b610f8e565b6040516101559190611c36565b6101f37f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610155565b610264610226366004611bb9565b600160208190526000918252604090912080549181015460029091015460ff83169261010090046fffffffffffffffffffffffffffffffff16919084565b6040516101559493929190611c7f565b610287610282366004611bb9565b611028565b6040516101559190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b7f00000000000000000000000000000000000000000000000000000000000000006101f3565b60408051808201909152601e81527f426f6e64457363616c6174696f6e5265736f6c7574696f6e4d6f64756c65000060208201526101bf565b61017161035a366004611bb9565b61113d565b61017161036d366004611b8d565b61151a565b610171610380366004611bb9565b6118bd565b61014b670de0b6b3a764000081565b61014b6103a2366004611abf565b600460209081526000928352604080842090915290825290205481565b6103ec6103cd366004611bb9565b6002602052600090815260409020805460019091015460ff9091169082565b604051610155929190611cc1565b600081815260016020526040812090815460ff16600381111561041f5761041f611c50565b03610456576040517f566c144400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061046184611028565b905060008080806001865460ff16600381111561048057610480611c50565b0361061257600087815260036020908152604080832033845290915281208054955085916104ae8380611d0e565b925050819055506104cc84670de0b6b3a76400008860010154611a5e565b92506104e5866002015484670de0b6b3a7640000611a5e565b90506104f18482611d21565b855160208701516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905233604482015273ffffffffffffffffffffffffffffffffffffffff91821660648201526084810184905292945016906322cfb00a9060a401600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff1687897f9f1880abedc93d28d7617e71c5fdb584b015a30266e3b627a7600f2049600e4988602001518660405161060592919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4610a9c565b6002865460ff16600381111561062a5761062a611c50565b036107af57600087815260046020908152604080832033845290915281208054955085916106588380611d0e565b9250508190555061067684670de0b6b3a76400008860020154611a5e565b925061068f866001015484670de0b6b3a7640000611a5e565b905061069b8482611d21565b855160208701516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018c9052602481018b905233604482015273ffffffffffffffffffffffffffffffffffffffff91821660648201526084810184905292945016906322cfb00a9060a401600060405180830381600087803b15801561072857600080fd5b505af115801561073c573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff1687897f463c38d924bd1031eca8fa19d48beb9daf29e22ec2a6a86427d042853ff07f7988602001518660405161060592919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6003865460ff1660038111156107c7576107c7611c50565b03610a9c57600087815260036020908152604080832033808552908352818420548b855260048452828520918552925290912054811561094a5760008981526003602090815260408083203384529091528120805484929061082a908490611d0e565b9091555050865160208801516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018d9052602481018c905233604482015273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018590529116906322cfb00a9060a401600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16898b7fe4e6a266498257f8c68a2fd6cc5fd56d8c0774cfec41a36972c4c4cf7ad173dd8a602001518660405161094192919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a45b8015610a9957600089815260046020908152604080832033845290915281208054839290610979908490611d0e565b9091555050865160208801516040517f22cfb00a000000000000000000000000000000000000000000000000000000008152600481018d9052602481018c905233604482015273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018490529116906322cfb00a9060a401600060405180830381600087803b158015610a0957600080fd5b505af1158015610a1d573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff16898b7fe4e6a266498257f8c68a2fd6cc5fd56d8c0774cfec41a36972c4c4cf7ad173dd8a6020015185604051610a9092919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a45b50505b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b15576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000838152602081905260409020610b2e828483611e04565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ba4576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000828152600160205260408120805490916101009091046fffffffffffffffffffffffffffffffff169003610c0a576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260026020526040812090610c2286611028565b60808101518454919250600091610c50919061010090046fffffffffffffffffffffffffffffffff16611d21565b9050804210610c8b576040517f2f4b3b7600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600183015415801590610cb157508160a001518360010154610cad9190611d21565b4210155b15610ce8576040517fcafa63c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001835460ff166002811115610d0057610d00611c50565b03610d37576040517fe8888e8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5083836002016000828254610d4c9190611d21565b9091555050600085815260046020908152604080832033845290915281208054869290610d7a908490611d21565b909155505060028301546001840154600091610d9591611d21565b825160208401516040517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018b9052604481018a905273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018990529293501690632c61d33c9060a401600060405180830381600087803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b5050505085873373ffffffffffffffffffffffffffffffffffffffff167f12fb8ac1b6aec408dcd02480fd2989dc125647ee9f5de9bc4cb5d323a334ec9088604051610e8491815260200190565b60405180910390a481606001518110610f8557600284015460018501546000610eb682670de0b6b3a764000086611a5e565b90506000610ecd84670de0b6b3a764000087611a5e565b90506000610edb8284611f1f565b90506000610ee98484611f1f565b905060006064670de0b6b3a76400008a60400151610f079190611f46565b610f119190611f5d565b9050808312610f2a575050505050505050505050505050565b808212610f4f5789546001908b9060ff191682805b02179055504260018b0155610f7d565b60025b8a5460ff166002811115610f6857610f68611c50565b03610f7d57895460ff19168a55600060018b01555b505050505050505b50505050505050565b60006020819052908152604090208054610fa790611d63565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd390611d63565b80156110205780601f10610ff557610100808354040283529160200191611020565b820191906000526020600020905b81548152906001019060200180831161100357829003601f168201915b505050505081565b61108d6040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b600082815260208190526040902080546110a690611d63565b80601f01602080910402602001604051908101604052809291908181526020018280546110d290611d63565b801561111f5780601f106110f45761010080835404028352916020019161111f565b820191906000526020600020905b81548152906001019060200180831161110257829003601f168201915b50505050508060200190518101906111379190611fc1565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146111ac576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260016020526040812090815460ff1660038111156111d1576111d1611c50565b14611208576040517fc9fc24e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046fffffffffffffffffffffffffffffffff1660000361125a576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018390526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa1580156112e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130c919061202f565b608001519050600061131d82611028565b600085815260026020526040812060a0830151600182015493945090926113449190611d21565b60808401518654919250600091611372919061010090046fffffffffffffffffffffffffffffffff16611d21565b9050804210801561138257508142105b156113b9576040517f93d9e9c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001860154600287015460006113cf8284611d21565b9050600087606001518210806113e457508284145b156113fc5750885460ff19166003178955600561142e565b828411156114175750885460ff19166001178955600361142e565b8383111561142e5750885460ff1916600217895560045b6040517f0c1d0c2300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630c1d0c23906114a2908e9085906004016120bb565b600060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050508a897facf2c682b2b1589bd6e7b4d197866c0cec809c4bb9b5d48faa792f61119c21748360405161150591906120cf565b60405180910390a35050505050505050505050565b6000828152600160205260408120805490916101009091046fffffffffffffffffffffffffffffffff16900361157c576040517f66f284ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526002602052604081209061159486611028565b608081015184549192506000916115c2919061010090046fffffffffffffffffffffffffffffffff16611d21565b90508042106115fd576040517f2f4b3b7600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301541580159061162357508160a00151836001015461161f9190611d21565b4210155b1561165a576040517fcafa63c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002835460ff16600281111561167257611672611c50565b036116a9576040517fdf00e0d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50838360010160008282546116be9190611d21565b90915550506000858152600360209081526040808320338452909152812080548692906116ec908490611d21565b90915550506002830154600184015460009161170791611d21565b825160208401516040517f2c61d33c000000000000000000000000000000000000000000000000000000008152336004820152602481018b9052604481018a905273ffffffffffffffffffffffffffffffffffffffff9182166064820152608481018990529293501690632c61d33c9060a401600060405180830381600087803b15801561179457600080fd5b505af11580156117a8573d6000803e3d6000fd5b5050505085873373ffffffffffffffffffffffffffffffffffffffff167fa9af81e4f33c7084dbc899560ab7e5a7208985341f876e4fd141e53656948e5d886040516117f691815260200190565b60405180910390a481606001518110610f855760018401546002850154600061182883670de0b6b3a764000086611a5e565b9050600061183f83670de0b6b3a764000087611a5e565b9050600061184d8284611f1f565b9050600061185b8484611f1f565b905060006064670de0b6b3a76400008a604001516118799190611f46565b6118839190611f5d565b905080821261189c575050505050505050505050505050565b8083126118b65789546002908b9060ff1916600183610f3f565b6001610f52565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461192c576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa1580156119ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119de919061202f565b6080015160008381526001602052604080822080547fffffffffffffffffffffffffffffff00000000000000000000000000000000ff16610100426fffffffffffffffffffffffffffffffff160217905551919250839183917fa2f6597c7891ed1ab3ef69d45be7ed7d15a175b822b2227e64f933b7eb0b051b91a35050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0484118302158202611a9357600080fd5b5091020490565b73ffffffffffffffffffffffffffffffffffffffff81168114611abc57600080fd5b50565b60008060408385031215611ad257600080fd5b823591506020830135611ae481611a9a565b809150509250929050565b60008060408385031215611b0257600080fd5b50508035926020909101359150565b600080600060408486031215611b2657600080fd5b83359250602084013567ffffffffffffffff80821115611b4557600080fd5b818601915086601f830112611b5957600080fd5b813581811115611b6857600080fd5b876020828501011115611b7a57600080fd5b6020830194508093505050509250925092565b600080600060608486031215611ba257600080fd5b505081359360208301359350604090920135919050565b600060208284031215611bcb57600080fd5b5035919050565b6000815180845260005b81811015611bf857602081850181015186830182015201611bdc565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611c496020830184611bd2565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6080810160048610611c9357611c93611c50565b9481526fffffffffffffffffffffffffffffffff939093166020840152604083019190915260609091015290565b6040810160038410611cd557611cd5611c50565b9281526020015290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561113757611137611cdf565b8082018082111561113757611137611cdf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680611d7757607f821691505b602082108103611db0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b3057600081815260208120601f850160051c81016020861015611ddd5750805b601f850160051c820191505b81811015611dfc57828155600101611de9565b505050505050565b67ffffffffffffffff831115611e1c57611e1c611d34565b611e3083611e2a8354611d63565b83611db6565b6000601f841160018114611e825760008515611e4c5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611f18565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015611ed15786850135825560209485019460019092019101611eb1565b5086821015611f0c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8181036000831280158383131683831282161715611f3f57611f3f611cdf565b5092915050565b808202811582820484141761113757611137611cdf565b600082611f93577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60405160c0810167ffffffffffffffff81118282101715611fbb57611fbb611d34565b60405290565b600060c08284031215611fd357600080fd5b611fdb611f98565b8251611fe681611a9a565b81526020830151611ff681611a9a565b8060208301525060408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b600060c0828403121561204157600080fd5b612049611f98565b82518152602083015161205b81611a9a565b6020820152604083015161206e81611a9a565b80604083015250606083015160608201526080830151608082015260a08301516006811061209b57600080fd5b60a08201529392505050565b600681106120b7576120b7611c50565b9052565b82815260408101611c4960208301846120a7565b6020810161113782846120a756fea2646970667358221220b46548f930300d8d3df5ffe58436b64338ea281f85a04fb8b318fcf5766f622864736f6c63430008130033",
    "sourceMap": "842:12849:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1365:100;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;639:25:113;;;627:2;612:18;1365:100:51;;;;;;;;9954:3735;;;;;;:::i;:::-;;:::i;:::-;;695:175:0;;;;;;:::i;:::-;;:::i;900:95::-;;;;;;:::i;:::-;;:::i;5243:2787:51:-;;;;;;:::i;:::-;;:::i;237:68:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;201:31::-;;;;;;;;2998:42:113;2986:55;;;2968:74;;2956:2;2941:18;201:31:0;2806:242:113;1100:72:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1882:179::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;3913:4:113;3955:3;3944:9;3940:19;3932:27;;3978:42;4066:2;4057:6;4051:13;4047:22;4036:9;4029:41;4138:2;4130:4;4122:6;4118:17;4112:24;4108:33;4101:4;4090:9;4086:20;4079:63;;4198:4;4190:6;4186:17;4180:24;4173:4;4162:9;4158:20;4151:54;4261:4;4253:6;4249:17;4243:24;4236:4;4225:9;4221:20;4214:54;4324:4;4316:6;4312:17;4306:24;4299:4;4288:9;4284:20;4277:54;4387:4;4379:6;4375:17;4369:24;4362:4;4351:9;4347:20;4340:54;3749:651;;;;;571:94:0;653:6;571:94;;1706:122:51;1784:39;;;;;;;;;;;;;;;;;1706:122;;8070:1830;;;;;;:::i;:::-;;:::i;2409:2780::-;;;;;;:::i;:::-;;:::i;2101:254::-;;;;;;:::i;:::-;;:::i;1010:35::-;;1041:4;1010:35;;1520:104;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1227:83;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9954:3735::-;10030:30;10063:23;;;:11;:23;;;;;;10097:22;;;;:47;;;;;;;;:::i;:::-;;10093:104;;10153:44;;;;;;;;;;;;;;10093:104;10204:32;10239:29;10257:10;10239:17;:29::i;:::-;10204:64;-1:-1:-1;10274:29:51;;;;10423:22;10397;;;;:48;;;;;;;;:::i;:::-;;10393:3292;;10479:29;;;;:17;:29;;;;;;;;10509:10;10479:41;;;;;;;;;;-1:-1:-1;10479:41:51;;10528:66;10479:41;;10528:66;:::i;:::-;;;;;;;;10624:81;10653:21;1041:4;10682:11;:22;;;10624:28;:81::i;:::-;10603:102;;10723:82;10752:11;:26;;;10780:18;1041:4;10723:28;:82::i;:::-;10713:92;-1:-1:-1;10832:31:51;10842:21;10713:92;10832:31;:::i;:::-;10871:27;;11025:17;;;;10871:215;;;;;;;;5915:25:113;;;5956:18;;;5949:34;;;10997:10:51;6060:18:113;;;6053:43;10871:41:51;6132:15:113;;;6112:18;;;6105:43;6164:19;;;6157:35;;;10813:50:51;;-1:-1:-1;10871:41:51;;;;5887:19:113;;10871:215:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11208:10;11099:206;;11178:10;11146;11099:206;11236:7;:17;;;11280:16;11099:206;;;;;;6422:42:113;6410:55;;;;6392:74;;6497:2;6482:18;;6475:34;6380:2;6365:18;;6203:312;11099:206:51;;;;;;;;10393:3292;;;11348:23;11322:22;;;;:49;;;;;;;;:::i;:::-;;11318:2367;;11405:33;;;;:21;:33;;;;;;;;11439:10;11405:45;;;;;;;;;;-1:-1:-1;11405:45:51;;11458:70;11405:45;;11458:70;:::i;:::-;;;;;;;;11558:85;11587:21;1041:4;11616:11;:26;;;11558:28;:85::i;:::-;11537:106;;11661:78;11690:11;:22;;;11714:18;1041:4;11661:28;:78::i;:::-;11651:88;-1:-1:-1;11766:31:51;11776:21;11651:88;11766:31;:::i;:::-;11805:27;;11959:17;;;;11805:215;;;;;;;;5915:25:113;;;5956:18;;;5949:34;;;11931:10:51;6060:18:113;;;6053:43;11805:41:51;6132:15:113;;;6112:18;;;6105:43;6164:19;;;6157:35;;;11747:50:51;;-1:-1:-1;11805:41:51;;;;5887:19:113;;11805:215:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12143:10;12033:207;;12113:10;12081;12033:207;12171:7;:17;;;12215:16;12033:207;;;;;;6422:42:113;6410:55;;;;6392:74;;6497:2;6482:18;;6475:34;6380:2;6365:18;;6203:312;11318:2367:51;12283:23;12257:22;;;;:49;;;;;;;;:::i;:::-;;12253:1432;;12316:26;12345:29;;;:17;:29;;;;;;;;12375:10;12345:41;;;;;;;;;;12427:33;;;:21;:33;;;;;:45;;;;;;;;;12485:22;;12481:585;;12519:29;;;;:17;:29;;;;;;;;12549:10;12519:41;;;;;;;:63;;12564:18;;12519:29;:63;;12564:18;;12519:63;:::i;:::-;;;;-1:-1:-1;;12592:27:51;;12754:17;;;;12592:229;;;;;;;;5915:25:113;;;5956:18;;;5949:34;;;12724:10:51;6060:18:113;;;6053:43;12592:41:51;6132:15:113;;;6112:18;;;6105:43;6164:19;;;6157:35;;;12592:41:51;;;;;5887:19:113;;12592:229:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12952:10;12836:221;;12920:10;12886;12836:221;12982:7;:17;;;13028:18;12836:221;;;;;;6422:42:113;6410:55;;;;6392:74;;6497:2;6482:18;;6475:34;6380:2;6365:18;;6203:312;12836:221:51;;;;;;;;12481:585;13078:26;;13074:605;;13116:33;;;;:21;:33;;;;;;;;13150:10;13116:45;;;;;;;:71;;13165:22;;13116:33;:71;;13165:22;;13116:71;:::i;:::-;;;;-1:-1:-1;;13197:27:51;;13359:17;;;;13197:233;;;;;;;;5915:25:113;;;5956:18;;;5949:34;;;13329:10:51;6060:18:113;;;6053:43;13197:41:51;6132:15:113;;;6112:18;;;6105:43;6164:19;;;6157:35;;;13197:41:51;;;;;5887:19:113;;13197:233:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13561:10;13445:225;;13529:10;13495;13445:225;13591:7;:17;;;13637:22;13445:225;;;;;;6422:42:113;6410:55;;;;6392:74;;6497:2;6482:18;;6475:34;6380:2;6365:18;;6203:312;13445:225:51;;;;;;;;13074:605;12308:1377;;12253:1432;10024:3665;;;;;;9954:3735;;:::o;695:175:0:-;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;791:11:::1;:23:::0;;;::::1;::::0;;;;;;:31:::1;817:5:::0;;791:23;:31:::1;:::i;:::-;;828:37;695:175:::0;;;:::o;900:95::-;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;900:95;;:::o;5243:2787:51:-;5351:30;5384:23;;;:11;:23;;;;;5418:21;;5384:23;;5418:21;;;;;;:26;;5414:84;;5453:45;;;;;;;;;;;;;;5414:84;5505:38;5546:26;;;:14;:26;;;;;;5614:29;5632:10;5614:17;:29::i;:::-;5710:25;;;;5686:21;;5710:25;;-1:-1:-1;5658:25:51;;5686:49;;5710:25;5686:21;;;;;:49;:::i;:::-;5658:77;;5767:17;5748:15;:36;5744:99;;5793:50;;;;;;;;;;;;;;5744:99;5907:20;;;;:25;;;;:100;;;5978:7;:29;;;5955:15;:20;;;:52;;;;:::i;:::-;5936:15;:71;;5907:100;5903:179;;;6026:47;;;;;;;;;;;;;;5903:179;6130:34;6094:32;;;;:70;;;;;;;;:::i;:::-;;6090:152;;6183:50;;;;;;;;;;;;;;6090:152;5650:598;6284:13;6254:11;:26;;;:43;;;;;;;:::i;:::-;;;;-1:-1:-1;;6303:33:51;;;;:21;:33;;;;;;;;6337:10;6303:45;;;;;;;:62;;6352:13;;6303:33;:62;;6352:13;;6303:62;:::i;:::-;;;;-1:-1:-1;;6426:26:51;;;;6401:22;;;;6372:26;;6401:51;;;:::i;:::-;6459:27;;6598:17;;;;6459:193;;;;;6512:10;6459:193;;;9717:34:113;9767:18;;;9760:34;;;9810:18;;;9803:34;;;6459::51;9873:15:113;;;9853:18;;;9846:43;9905:19;;;9898:35;;;6372:80:51;;-1:-1:-1;6459:34:51;;;;9628:19:113;;6459:193:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6709:10;6697;6685;6663:72;;;6721:13;6663:72;;;;639:25:113;;627:2;612:18;;493:177;6663:72:51;;;;;;;;6768:7;:23;;;6746:18;:45;6742:1284;;6832:26;;;;6886:22;;;;6801:28;6947:65;6886:22;1041:4;6993:18;6947:28;:65::i;:::-;6917:95;;7020:34;7057:76;7086:20;1041:4;7114:18;7057:28;:76::i;:::-;7020:113;-1:-1:-1;7141:31:51;7175:64;7020:113;7182:19;7175:64;:::i;:::-;7141:98;-1:-1:-1;7247:35:51;7285:64;7329:19;7292:26;7285:64;:::i;:::-;7247:102;;7358:33;7433:3;1041:4;7401:7;:22;;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;7358:79;;7478:26;7450:24;:54;7446:67;;7506:7;;;;;;;;;;;5243:2787;;;:::o;7446:67::-;7557:26;7525:28;:58;7521:499;;7595:69;;7630:34;;7595:15;;-1:-1:-1;;7595:69:51;7630:34;;7595:69;;;;;-1:-1:-1;7697:15:51;7674:20;;;:38;7521:499;;;7767:38;7731:74;:32;;;;:74;;;;;;;;:::i;:::-;;7727:293;;7916:61;;-1:-1:-1;;7916:61:51;;;7951:26;7916:61;7987:20;;:24;7727:293;6793:1233;;;;;;;6742:1284;5345:2685;;;;5243:2787;;;:::o;237:68:0:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1882:179:51:-;1950:32;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:32:51;2011:11;:23;;;;;;;;;;2000:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1990:66;1882:179;-1:-1:-1;;1882:179:51:o;8070:1830::-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;8140:30:51::1;8173:23:::0;;;:11:::1;:23;::::0;;;;;8207:22;;::::1;;:47;::::0;::::1;;;;;;:::i;:::-;;8203:108;;8263:48;;;;;;;;;;;;;;8203:108;8321:21:::0;;::::1;::::0;::::1;;;;:26:::0;8317:84:::1;;8356:45;;;;;;;;;;;;;;8317:84;8429:29;::::0;;;;::::1;::::0;::::1;639:25:113::0;;;8408:18:51::1;::::0;8429:6:::1;:17;;::::0;::::1;::::0;612:18:113;;8429:29:51::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;;8408:60;;8475:32;8510:29;8528:10;8510:17;:29::i;:::-;8546:38;8587:26:::0;;;:14:::1;:26;::::0;;;;8678:29:::1;::::0;::::1;::::0;8655:20:::1;::::0;::::1;::::0;8475:64;;-1:-1:-1;8587:26:51;;8655:52:::1;::::0;8678:29;8655:52:::1;:::i;:::-;8766:25;::::0;::::1;::::0;8742:21;;8620:87;;-1:-1:-1;8714:25:51::1;::::0;8742:49:::1;::::0;8766:25;8742:21:::1;::::0;::::1;;;:49;:::i;:::-;8714:77;;8903:17;8885:15;:35;:81;;;;;8942:24;8924:15;:42;8885:81;8881:162;;;8983:53;;;;;;;;;;;;;;8881:162;9071:22;::::0;::::1;::::0;9125:26:::1;::::0;::::1;::::0;9049:19:::1;9181:29;9125:26:::0;9071:22;9181:29:::1;:::i;:::-;9157:53;;9217:36;9280:7;:23;;;9264:13;:39;:73;;;;9322:15;9307:11;:30;9264:73;9260:509;;;-1:-1:-1::0;9347:48:51;;-1:-1:-1;;9347:48:51::1;9372:23;9347:48;::::0;;9420:34:::1;9260:509;;;9485:15;9471:11;:29;9467:302;;;-1:-1:-1::0;9510:47:51;;-1:-1:-1;;9510:47:51::1;9535:22;9510:47;::::0;;9582:25:::1;9467:302;;;9642:11;9624:15;:29;9620:149;;;-1:-1:-1::0;9663:48:51;;-1:-1:-1;;9663:48:51::1;9688:23;9663:48;::::0;;9736:26:::1;9620:149;9775:54;::::0;;;;:26:::1;:6;:26;::::0;::::1;::::0;:54:::1;::::0;9802:10;;9814:14;;9775:54:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9868:10;9856;9840:55;9880:14;9840:55;;;;;;:::i;:::-;;;;;;;;8134:1766;;;;;;;;;;8070:1830:::0;:::o;2409:2780::-;2513:30;2546:23;;;:11;:23;;;;;2580:21;;2546:23;;2580:21;;;;;;:26;;2576:84;;2615:45;;;;;;;;;;;;;;2576:84;2667:38;2708:26;;;:14;:26;;;;;;2776:29;2794:10;2776:17;:29::i;:::-;2872:25;;;;2848:21;;2872:25;;-1:-1:-1;2820:25:51;;2848:49;;2872:25;2848:21;;;;;:49;:::i;:::-;2820:77;;2929:17;2910:15;:36;2906:99;;2955:50;;;;;;;;;;;;;;2906:99;3069:20;;;;:25;;;;:100;;;3140:7;:29;;;3117:15;:20;;;:52;;;;:::i;:::-;3098:15;:71;;3069:100;3065:179;;;3188:47;;;;;;;;;;;;;;3065:179;3292:38;3256:32;;;;:74;;;;;;;;:::i;:::-;;3252:160;;3349:54;;;;;;;;;;;;;;3252:160;2812:606;3450:13;3424:11;:22;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;3469:29:51;;;;:17;:29;;;;;;;;3499:10;3469:41;;;;;;;:58;;3514:13;;3469:29;:58;;3514:13;;3469:58;:::i;:::-;;;;-1:-1:-1;;3588:26:51;;;;3563:22;;;;3534:26;;3563:51;;;:::i;:::-;3621:27;;3760:17;;;;3621:193;;;;;3674:10;3621:193;;;9717:34:113;9767:18;;;9760:34;;;9810:18;;;9803:34;;;3621::51;9873:15:113;;;9853:18;;;9846:43;9905:19;;;9898:35;;;3534:80:51;;-1:-1:-1;3621:34:51;;;;9628:19:113;;3621:193:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3867:10;3855;3843;3825:68;;;3879:13;3825:68;;;;639:25:113;;627:2;612:18;;493:177;3825:68:51;;;;;;;;3926:7;:23;;;3904:18;:45;3900:1285;;3986:22;;;;4040:26;;;;3959:24;4108:72;3986:22;1041:4;4161:18;4108:28;:72::i;:::-;4075:105;;4188:31;4222:69;4251:13;1041:4;4272:18;4222:28;:69::i;:::-;4188:103;-1:-1:-1;4300:31:51;4334:64;4188:103;4341:22;4334:64;:::i;:::-;4300:98;-1:-1:-1;4406:35:51;4444:64;4485:22;4451:23;4444:64;:::i;:::-;4406:102;;4517:33;4592:3;1041:4;4560:7;:22;;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;4517:79;;4641:26;4609:28;:58;4605:71;;4669:7;;;;;;;;;;;2409:2780;;;:::o;4605:71::-;4716:26;4688:24;:54;4684:495;;4754:73;;4789:38;;4754:15;;-1:-1:-1;;4754:73:51;;4789:38;4754:73;;4684:495;4930:34;4894:70;;2101:254;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;2193:29:51::1;::::0;;;;::::1;::::0;::::1;639:25:113::0;;;2172:18:51::1;::::0;2193:6:::1;:17;;::::0;::::1;::::0;612:18:113;;2193:29:51::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;::::0;2238:23:::1;::::0;;;:11:::1;:23;::::0;;;;;:60;;;::::1;;2282:15;2238:60;;;;::::0;;2309:41;2193:39;;-1:-1:-1;2238:23:51;;2193:39;;2309:41:::1;::::0;::::1;2166:189;2101:254:::0;:::o;1564:526:37:-;1680:9;1928:1;1915:11;1911:19;1908:1;1905:26;1902:1;1898:34;1891:42;1878:11;1874:60;1864:116;;1964:1;1961;1954:12;1864:116;-1:-1:-1;2051:9:37;;2047:27;;1564:526::o;14:154:113:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;69:93;14:154;:::o;173:315::-;241:6;249;302:2;290:9;281:7;277:23;273:32;270:52;;;318:1;315;308:12;270:52;354:9;341:23;331:33;;414:2;403:9;399:18;386:32;427:31;452:5;427:31;:::i;:::-;477:5;467:15;;;173:315;;;;;:::o;675:248::-;743:6;751;804:2;792:9;783:7;779:23;775:32;772:52;;;820:1;817;810:12;772:52;-1:-1:-1;;843:23:113;;;913:2;898:18;;;885:32;;-1:-1:-1;675:248:113:o;928:659::-;1007:6;1015;1023;1076:2;1064:9;1055:7;1051:23;1047:32;1044:52;;;1092:1;1089;1082:12;1044:52;1128:9;1115:23;1105:33;;1189:2;1178:9;1174:18;1161:32;1212:18;1253:2;1245:6;1242:14;1239:34;;;1269:1;1266;1259:12;1239:34;1307:6;1296:9;1292:22;1282:32;;1352:7;1345:4;1341:2;1337:13;1333:27;1323:55;;1374:1;1371;1364:12;1323:55;1414:2;1401:16;1440:2;1432:6;1429:14;1426:34;;;1456:1;1453;1446:12;1426:34;1501:7;1496:2;1487:6;1483:2;1479:15;1475:24;1472:37;1469:57;;;1522:1;1519;1512:12;1469:57;1553:2;1549;1545:11;1535:21;;1575:6;1565:16;;;;;928:659;;;;;:::o;1592:316::-;1669:6;1677;1685;1738:2;1726:9;1717:7;1713:23;1709:32;1706:52;;;1754:1;1751;1744:12;1706:52;-1:-1:-1;;1777:23:113;;;1847:2;1832:18;;1819:32;;-1:-1:-1;1898:2:113;1883:18;;;1870:32;;1592:316;-1:-1:-1;1592:316:113:o;1913:180::-;1972:6;2025:2;2013:9;2004:7;2000:23;1996:32;1993:52;;;2041:1;2038;2031:12;1993:52;-1:-1:-1;2064:23:113;;1913:180;-1:-1:-1;1913:180:113:o;2098:481::-;2139:3;2177:5;2171:12;2204:6;2199:3;2192:19;2229:1;2239:162;2253:6;2250:1;2247:13;2239:162;;;2315:4;2371:13;;;2367:22;;2361:29;2343:11;;;2339:20;;2332:59;2268:12;2239:162;;;2243:3;2446:1;2439:4;2430:6;2425:3;2421:16;2417:27;2410:38;2568:4;2498:66;2493:2;2485:6;2481:15;2477:88;2472:3;2468:98;2464:109;2457:116;;;2098:481;;;;:::o;2584:217::-;2731:2;2720:9;2713:21;2694:4;2751:44;2791:2;2780:9;2776:18;2768:6;2751:44;:::i;:::-;2743:52;2584:217;-1:-1:-1;;;2584:217:113:o;3053:184::-;3105:77;3102:1;3095:88;3202:4;3199:1;3192:15;3226:4;3223:1;3216:15;3242:502;3474:3;3459:19;;3508:1;3497:13;;3487:47;;3514:18;;:::i;:::-;3543:25;;;3616:34;3604:47;;;;3599:2;3584:18;;3577:75;3683:2;3668:18;;3661:34;;;;3726:2;3711:18;;;3704:34;3242:502;:::o;4860:324::-;5042:2;5027:18;;5075:1;5064:13;;5054:47;;5081:18;;:::i;:::-;5110:25;;;5166:2;5151:18;5144:34;4860:324;:::o;5189:184::-;5241:77;5238:1;5231:88;5338:4;5335:1;5328:15;5362:4;5359:1;5352:15;5378:128;5445:9;;;5466:11;;;5463:37;;;5480:18;;:::i;5511:125::-;5576:9;;;5597:10;;;5594:36;;;5610:18;;:::i;6520:184::-;6572:77;6569:1;6562:88;6669:4;6666:1;6659:15;6693:4;6690:1;6683:15;6709:437;6788:1;6784:12;;;;6831;;;6852:61;;6906:4;6898:6;6894:17;6884:27;;6852:61;6959:2;6951:6;6948:14;6928:18;6925:38;6922:218;;6996:77;6993:1;6986:88;7097:4;7094:1;7087:15;7125:4;7122:1;7115:15;6922:218;;6709:437;;;:::o;7276:544::-;7377:2;7372:3;7369:11;7366:448;;;7413:1;7438:5;7434:2;7427:17;7483:4;7479:2;7469:19;7553:2;7541:10;7537:19;7534:1;7530:27;7524:4;7520:38;7589:4;7577:10;7574:20;7571:47;;;-1:-1:-1;7612:4:113;7571:47;7667:2;7662:3;7658:12;7655:1;7651:20;7645:4;7641:31;7631:41;;7722:82;7740:2;7733:5;7730:13;7722:82;;;7785:17;;;7766:1;7755:13;7722:82;;;7726:3;;;7276:544;;;:::o;8056:1321::-;8178:18;8173:3;8170:27;8167:53;;;8200:18;;:::i;:::-;8229:93;8318:3;8278:38;8310:4;8304:11;8278:38;:::i;:::-;8272:4;8229:93;:::i;:::-;8348:1;8373:2;8368:3;8365:11;8390:1;8385:734;;;;9163:1;9180:3;9177:93;;;-1:-1:-1;9236:19:113;;;9223:33;9177:93;7962:66;7953:1;7949:11;;;7945:84;7941:89;7931:100;8037:1;8033:11;;;7928:117;9283:78;;8358:1013;;8385:734;7223:1;7216:14;;;7260:4;7247:18;;8430:66;8421:76;;;8580:9;8602:229;8616:7;8613:1;8610:14;8602:229;;;8705:19;;;8692:33;8677:49;;8812:4;8797:20;;;;8765:1;8753:14;;;;8632:12;8602:229;;;8606:3;8859;8850:7;8847:16;8844:219;;;8979:66;8973:3;8967;8964:1;8960:11;8956:21;8952:94;8948:99;8935:9;8930:3;8926:19;8913:33;8909:139;8901:6;8894:155;8844:219;;;9106:1;9100:3;9097:1;9093:11;9089:19;9083:4;9076:33;8358:1013;;;8056:1321;;;:::o;9944:200::-;10010:9;;;9983:4;10038:9;;10066:10;;10078:12;;;10062:29;10101:12;;;10093:21;;10059:56;10056:82;;;10118:18;;:::i;:::-;10056:82;9944:200;;;;:::o;10149:168::-;10222:9;;;10253;;10270:15;;;10264:22;;10250:37;10240:71;;10291:18;;:::i;10322:274::-;10362:1;10388;10378:189;;10423:77;10420:1;10413:88;10524:4;10521:1;10514:15;10552:4;10549:1;10542:15;10378:189;-1:-1:-1;10581:9:113;;10322:274::o;10601:247::-;10668:2;10662:9;10710:3;10698:16;;10744:18;10729:34;;10765:22;;;10726:62;10723:88;;;10791:18;;:::i;:::-;10827:2;10820:22;10601:247;:::o;10853:729::-;10959:6;11012:3;11000:9;10991:7;10987:23;10983:33;10980:53;;;11029:1;11026;11019:12;10980:53;11055:17;;:::i;:::-;11102:9;11096:16;11121:33;11146:7;11121:33;:::i;:::-;11163:22;;11230:2;11215:18;;11209:25;11243:33;11209:25;11243:33;:::i;:::-;11308:7;11303:2;11296:5;11292:14;11285:31;;11369:2;11358:9;11354:18;11348:25;11343:2;11336:5;11332:14;11325:49;11427:2;11416:9;11412:18;11406:25;11401:2;11394:5;11390:14;11383:49;11486:3;11475:9;11471:19;11465:26;11459:3;11452:5;11448:15;11441:51;11546:3;11535:9;11531:19;11525:26;11519:3;11512:5;11508:15;11501:51;11571:5;11561:15;;;10853:729;;;;:::o;11769:800::-;11864:6;11917:3;11905:9;11896:7;11892:23;11888:33;11885:53;;;11934:1;11931;11924:12;11885:53;11960:17;;:::i;:::-;12006:9;12000:16;11993:5;11986:31;12062:2;12051:9;12047:18;12041:25;12075:33;12100:7;12075:33;:::i;:::-;12135:2;12124:14;;12117:31;12193:2;12178:18;;12172:25;12206:33;12172:25;12206:33;:::i;:::-;12271:7;12266:2;12259:5;12255:14;12248:31;;12332:2;12321:9;12317:18;12311:25;12306:2;12299:5;12295:14;12288:49;12391:3;12380:9;12376:19;12370:26;12364:3;12357:5;12353:15;12346:51;12442:3;12431:9;12427:19;12421:26;12478:1;12469:7;12466:14;12456:42;;12494:1;12491;12484:12;12456:42;12525:3;12514:15;;12507:32;12518:5;11769:800;-1:-1:-1;;;11769:800:113:o;12574:144::-;12659:1;12652:5;12649:12;12639:46;;12665:18;;:::i;:::-;12694;;12574:144::o;12723:287::-;12913:25;;;12901:2;12886:18;;12947:57;13000:2;12985:18;;12977:6;12947:57;:::i;13015:216::-;13165:2;13150:18;;13177:48;13154:9;13207:6;13177:48;:::i",
    "linkReferences": {},
    "immutableReferences": {
      "10": [
        {
          "start": 465,
          "length": 32
        },
        {
          "start": 751,
          "length": 32
        },
        {
          "start": 2750,
          "length": 32
        },
        {
          "start": 2893,
          "length": 32
        },
        {
          "start": 4437,
          "length": 32
        },
        {
          "start": 4748,
          "length": 32
        },
        {
          "start": 5227,
          "length": 32
        },
        {
          "start": 6357,
          "length": 32
        },
        {
          "start": 6494,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "BASE()": "ec342ad0",
    "ORACLE()": "38013f02",
    "claimPledge(bytes32,bytes32)": "15dff0b2",
    "decodeRequestData(bytes32)": "4d610a46",
    "escalations(bytes32)": "4cf3ad6a",
    "finalizeRequest(bytes32,address)": "309de607",
    "inequalityData(bytes32)": "f1c2fb31",
    "moduleName()": "93f0899a",
    "oracle()": "7dc0d1d0",
    "pledgeAgainstDispute(bytes32,bytes32,uint256)": "325fff12",
    "pledgeForDispute(bytes32,bytes32,uint256)": "d0f27f78",
    "pledgesAgainstDispute(bytes32,address)": "ef940cef",
    "pledgesForDispute(bytes32,address)": "076404dc",
    "requestData(bytes32)": "3661346b",
    "resolveDispute(bytes32)": "c8218e3e",
    "setupRequest(bytes32,bytes)": "2e76be2a",
    "startResolution(bytes32)": "d96dd0e7"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_AgainstTurnToEqualize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_AlreadyResolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_ForTurnToEqualize\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_MustBeResolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_NotEscalated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_NotResolved\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_PledgingPhaseNotOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BondEscalationResolutionModule_PledgingPhaseOver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_OnlyOracle\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"DisputeEscalated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeResolved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pledgeReleased\",\"type\":\"uint256\"}],\"name\":\"PledgeClaimedDisputerLost\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pledgeReleased\",\"type\":\"uint256\"}],\"name\":\"PledgeClaimedDisputerWon\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"_token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pledgeReleased\",\"type\":\"uint256\"}],\"name\":\"PledgeClaimedNoResolution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pledgedAmount\",\"type\":\"uint256\"}],\"name\":\"PledgedAgainstDispute\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pledgedAmount\",\"type\":\"uint256\"}],\"name\":\"PledgedForDispute\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"ResolutionStarted\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ORACLE\",\"outputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"claimPledge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"decodeRequestData\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IBondEscalationAccounting\",\"name\":\"accountingExtension\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"bondToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"percentageDiff\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pledgeThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeUntilDeadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeToBreakInequality\",\"type\":\"uint256\"}],\"internalType\":\"struct IBondEscalationResolutionModule.RequestParameters\",\"name\":\"_params\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"escalations\",\"outputs\":[{\"internalType\":\"enum IBondEscalationResolutionModule.Resolution\",\"name\":\"resolution\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"startTime\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"pledgesFor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pledgesAgainst\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"finalizeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"inequalityData\",\"outputs\":[{\"internalType\":\"enum IBondEscalationResolutionModule.InequalityStatus\",\"name\":\"inequalityStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_moduleName\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_pledgeAmount\",\"type\":\"uint256\"}],\"name\":\"pledgeAgainstDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_pledgeAmount\",\"type\":\"uint256\"}],\"name\":\"pledgeForDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"}],\"name\":\"pledgesAgainstDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"pledges\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pledger\",\"type\":\"address\"}],\"name\":\"pledgesForDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"pledges\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"requestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_requestData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"resolveDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"setupRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"startResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DisputeEscalated(bytes32,bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute that was escalated.\",\"_requestId\":\"The ID of the request associated with the dispute.\"}},\"DisputeResolved(bytes32,bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id for the dispute that was resolved\",\"_requestId\":\"The id for the request that was disputed\",\"_status\":\"The final result of the resolution\"}},\"PledgeClaimedDisputerLost(bytes32,bytes32,address,address,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute the user opposed.\",\"_pledgeReleased\":\"The amount of tokens the user claimed.\",\"_pledger\":\"The address of the user that claimed his pledges.\",\"_requestId\":\"The ID of the request associated with the dispute.\",\"_token\":\"The token the user claimed his pledges in.\"}},\"PledgeClaimedDisputerWon(bytes32,bytes32,address,address,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute the user supported.\",\"_pledgeReleased\":\"The amount of tokens the user claimed.\",\"_pledger\":\"The address of the user that claimed his pledges.\",\"_requestId\":\"The ID of the request associated with the dispute.\",\"_token\":\"The token the user claimed his pledges in.\"}},\"PledgeClaimedNoResolution(bytes32,bytes32,address,address,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute the user supported or opposed.\",\"_pledgeReleased\":\"The amount of tokens the user claimed.\",\"_pledger\":\"The address of the user that claimed his pledges.\",\"_requestId\":\"The ID of the request associated with the dispute.\",\"_token\":\"The token the user claimed his pledges in.\"}},\"PledgedAgainstDispute(address,bytes32,bytes32,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute the user pledged against.\",\"_pledgedAmount\":\"The amount of tokens the user pledged.\",\"_pledger\":\"The address of the user that pledged.\",\"_requestId\":\"The ID of the request associated with the dispute.\"}},\"PledgedForDispute(address,bytes32,bytes32,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute the user pledged in favor of.\",\"_pledgedAmount\":\"The amount of tokens the user pledged.\",\"_pledger\":\"The address of the user that pledged.\",\"_requestId\":\"The ID of the request associated with the dispute.\"}},\"RequestFinalized(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request that was finalized\"}},\"ResolutionStarted(bytes32,bytes32)\":{\"params\":{\"_disputeId\":\"The id for the dispute that the resolution was started for\",\"_requestId\":\"The id for the request for the dispute\"}}},\"kind\":\"dev\",\"methods\":{\"claimPledge(bytes32,bytes32)\":{\"details\":\"Winning pledgers will claim their pledges along with their reward. In case of no resolution, users can      claim their pledges back. Losing pledgers will go to the rewards of the winning pledgers.\",\"params\":{\"_disputeId\":\"The ID of the dispute the user wants to claim pledges from.\",\"_requestId\":\"The ID of the request associated with dispute.\"}},\"decodeRequestData(bytes32)\":{\"params\":{\"_requestId\":\"The ID of the request\"},\"returns\":{\"_params\":\"The struct containing the parameters for the request\"}},\"finalizeRequest(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request being finalized\"}},\"moduleName()\":{\"returns\":{\"_moduleName\":\"The name of the module.\"}},\"oracle()\":{\"returns\":{\"_oracle\":\"The address of the oracle\"}},\"pledgeAgainstDispute(bytes32,bytes32,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute to pledge against of.\",\"_pledgeAmount\":\"The amount of pledges to pledge.\",\"_requestId\":\"The ID of the request associated with the dispute.\"}},\"pledgeForDispute(bytes32,bytes32,uint256)\":{\"params\":{\"_disputeId\":\"The ID of the dispute to pledge in favor of.\",\"_pledgeAmount\":\"The amount of pledges to pledge.\",\"_requestId\":\"The ID of the request associated with the dispute.\"}},\"resolveDispute(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute being resolved\"}},\"setupRequest(bytes32,bytes)\":{\"params\":{\"_data\":\"The data of the request\",\"_requestId\":\"The ID of the request\"}},\"startResolution(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute\"}}},\"stateVariables\":{\"BASE\":{\"return\":\"The base to avoid over/underflow\",\"returns\":{\"_0\":\"The base to avoid over/underflow\"}},\"escalations\":{\"params\":{\"_disputeId\":\"The ID of the dispute.\"},\"returns\":{\"pledgesAgainst\":\"The amount of pledges against the dispute.\",\"pledgesFor\":\"The amount of pledges in favor of the dispute.\",\"resolution\":\"The current resolution of the dispute.\",\"startTime\":\" The time at which the dispute was escalated.\"}},\"inequalityData\":{\"params\":{\"_disputeId\":\"The ID of the dispute.\"},\"returns\":{\"inequalityStatus\":\"The current status of the inequality.\",\"time\":\"            The time at which the inequality was last updated.\"}},\"pledgesAgainstDispute\":{\"params\":{\"_disputeId\":\"The ID of the dispute.\",\"_pledger\":\"The address of the user.\"},\"return\":\"pledges The amount pledged by a user against a given dispute.\",\"returns\":{\"pledges\":\"The amount pledged by a user against a given dispute.\"}},\"pledgesForDispute\":{\"params\":{\"_disputeId\":\"The ID of the dispute.\",\"_pledger\":\"The address of the user.\"},\"return\":\"pledges The amount pledged by a user for a given dispute.\",\"returns\":{\"pledges\":\"The amount pledged by a user for a given dispute.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"BondEscalationResolutionModule_AgainstTurnToEqualize()\":[{\"notice\":\"Thrown when trying to pledge for a dispute during the opposing side's pledging turn.\"}],\"BondEscalationResolutionModule_AlreadyResolved()\":[{\"notice\":\"Thrown when the user tries to resolve a dispute that has already been resolved.\"}],\"BondEscalationResolutionModule_ForTurnToEqualize()\":[{\"notice\":\"Thrown when trying to pledge against a dispute during the supporting side's pledging turn.\"}],\"BondEscalationResolutionModule_MustBeResolved()\":[{\"notice\":\"Thrown when trying to pledge after the inequality timer has passed.\"}],\"BondEscalationResolutionModule_NotEscalated()\":[{\"notice\":\"Thrown when the user tries to pledge for or resolve a non-existent dispute.\"}],\"BondEscalationResolutionModule_NotResolved()\":[{\"notice\":\"Thrown when trying to claim a pledge for a dispute that has not been resolved yet.\"}],\"BondEscalationResolutionModule_PledgingPhaseNotOver()\":[{\"notice\":\"Thrown when trying to resolve a dispute before the pledging phase is over.\"}],\"BondEscalationResolutionModule_PledgingPhaseOver()\":[{\"notice\":\"Thrown when trying to pledge after the pledging phase is over.\"}],\"Module_OnlyOracle()\":[{\"notice\":\"Thrown when the caller is not the oracle\"}]},\"events\":{\"DisputeEscalated(bytes32,bytes32)\":{\"notice\":\"Emitted when a dispute is escalated.\"},\"DisputeResolved(bytes32,bytes32,uint8)\":{\"notice\":\"Emitted when a dispute has been resolved\"},\"PledgeClaimedDisputerLost(bytes32,bytes32,address,address,uint256)\":{\"notice\":\"Emitted when a user claims his pledges after a lost dispute.\"},\"PledgeClaimedDisputerWon(bytes32,bytes32,address,address,uint256)\":{\"notice\":\"Emitted when a user claims his pledges after a successful dispute.\"},\"PledgeClaimedNoResolution(bytes32,bytes32,address,address,uint256)\":{\"notice\":\"Emitted when a user claims his pledges after a dispute with no resolution.\"},\"PledgedAgainstDispute(address,bytes32,bytes32,uint256)\":{\"notice\":\"Emitted when a user pledges against a dispute.\"},\"PledgedForDispute(address,bytes32,bytes32,uint256)\":{\"notice\":\"Emitted when a user pledges in favor of a dispute.\"},\"RequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"ResolutionStarted(bytes32,bytes32)\":{\"notice\":\"Emitted when a resolution is started\"}},\"kind\":\"user\",\"methods\":{\"BASE()\":{\"notice\":\"Base to avoid over/underflow\"},\"claimPledge(bytes32,bytes32)\":{\"notice\":\"Allows user to claim his corresponding pledges after a dispute is resolved.\"},\"decodeRequestData(bytes32)\":{\"notice\":\"Returns the decoded data for a request\"},\"escalations(bytes32)\":{\"notice\":\"Returns the bond escalation progress and the balance of pledges for and against a given dispute.\"},\"finalizeRequest(bytes32,address)\":{\"notice\":\"Finalizes a given request and executes any additional logic set by the chosen modules\"},\"inequalityData(bytes32)\":{\"notice\":\"Returns the inequality status and its last update time of a given dispute.\"},\"moduleName()\":{\"notice\":\"Returns the name of the module.\"},\"oracle()\":{\"notice\":\"Returns the address of the oracle\"},\"pledgeAgainstDispute(bytes32,bytes32,uint256)\":{\"notice\":\"Allows users to pledge against a given dispute. This means the user believes the proposed answer is         correct and therefore wants the disputer to lose his dispute.\"},\"pledgeForDispute(bytes32,bytes32,uint256)\":{\"notice\":\"Allows users to pledge in favor of a given dispute. This means the user believes the proposed answer is         incorrect and therefore wants the disputer to win his dispute.\"},\"pledgesAgainstDispute(bytes32,address)\":{\"notice\":\"Returns the amount pledged by a user against a given dispute.\"},\"pledgesForDispute(bytes32,address)\":{\"notice\":\"Returns the amount pledged by a user for a given dispute.\"},\"requestData(bytes32)\":{\"notice\":\"Returns the data of the request associated with the provided id\"},\"resolveDispute(bytes32)\":{\"notice\":\"Resolves a dispute\"},\"setupRequest(bytes32,bytes)\":{\"notice\":\"Stores the request data and runs module-specific hooks\"},\"startResolution(bytes32)\":{\"notice\":\"Starts the resolution process\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/contracts/modules/resolution/BondEscalationResolutionModule.sol\":\"BondEscalationResolutionModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@defi-wonderland/=node_modules/@defi-wonderland/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol\":{\"keccak256\":\"0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41\",\"dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol\":{\"keccak256\":\"0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f\",\"dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol\":{\"keccak256\":\"0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823\",\"dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol\":{\"keccak256\":\"0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d\",\"dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol\":{\"keccak256\":\"0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e\",\"dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol\":{\"keccak256\":\"0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d\",\"dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol\":{\"keccak256\":\"0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67\",\"dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol\":{\"keccak256\":\"0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf\",\"dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/solmate/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x1b62af9baf5b8e991ed7531bc87f45550ba9d61e8dbff5caf237ccaf3a3fd843\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://b7b38b977c5305b18ceefbeed4c9ceaaaefa419b520de62de6604ea661f8c0a9\",\"dweb:/ipfs/QmecMRzgfMyDVa2pvBqMMDLYBappaj7Aa3qcMoQYEQrhWi\"]},\"solidity/contracts/modules/resolution/BondEscalationResolutionModule.sol\":{\"keccak256\":\"0xb2459ebe7d9426fad870349f69ea765921d50cd639661003f348a1ade29a43c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8c7b21ca16e8bf2511416907b8d7e3d8248ee5c09ce497a2c73458e936b89ee\",\"dweb:/ipfs/Qma5jdDELm126ABenbdNVYqh5rTgmWGeHj6WeWqUpXTkeq\"]},\"solidity/interfaces/extensions/IAccountingExtension.sol\":{\"keccak256\":\"0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0\",\"dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5\"]},\"solidity/interfaces/extensions/IBondEscalationAccounting.sol\":{\"keccak256\":\"0xbb8a09dc8120dce27ef6365377acc387e0ef230969b993590cc81aaa096e36d0\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://31c592b9527e6be74502d7ec135a77bb2802662c75df3a05f916fa050fe34747\",\"dweb:/ipfs/QmQBj39ptDdwMzhjgMzkJHNWbL7Ek41YNhMZaKDtKBG7oc\"]},\"solidity/interfaces/modules/dispute/IBondEscalationModule.sol\":{\"keccak256\":\"0x092ef0770e8587b1828891addecd270a0d49de18df36093480e006842dd3ef20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://93939711123171337804d8acfe5aab8c1924b997cede75d16e13e7e61bf62f08\",\"dweb:/ipfs/QmQp8T8FXe5aJ6oJdUFRnzAoKarmmRihEF9aZiJWdaBwdt\"]},\"solidity/interfaces/modules/resolution/IBondEscalationResolutionModule.sol\":{\"keccak256\":\"0x238d8d6cb8453dbce0904f461f3e11668b2d204c92bac5000bbb84d92b340e6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f1b326dc0027d825b9a2e00b3531569f8b8371c35696688d96d45efcb6dfd35\",\"dweb:/ipfs/QmR6TpT8KYpLoojwzfJRfHryPJ6rAWzagQQVSvQe1mbXaT\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.19+commit.7dd6d404"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "contract IOracle",
              "name": "_oracle",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_AgainstTurnToEqualize"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_AlreadyResolved"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_ForTurnToEqualize"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_MustBeResolved"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_NotEscalated"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_NotResolved"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_PledgingPhaseNotOver"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "BondEscalationResolutionModule_PledgingPhaseOver"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "Module_OnlyOracle"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "DisputeEscalated",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeResolved",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "contract IERC20",
              "name": "_token",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "_pledgeReleased",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "PledgeClaimedDisputerLost",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "contract IERC20",
              "name": "_token",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "_pledgeReleased",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "PledgeClaimedDisputerWon",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "contract IERC20",
              "name": "_token",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "_pledgeReleased",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "PledgeClaimedNoResolution",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "uint256",
              "name": "_pledgedAmount",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "PledgedAgainstDispute",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "uint256",
              "name": "_pledgedAmount",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "PledgedForDispute",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "RequestFinalized",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResolutionStarted",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "BASE",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "ORACLE",
          "outputs": [
            {
              "internalType": "contract IOracle",
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "claimPledge"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "decodeRequestData",
          "outputs": [
            {
              "internalType": "struct IBondEscalationResolutionModule.RequestParameters",
              "name": "_params",
              "type": "tuple",
              "components": [
                {
                  "internalType": "contract IBondEscalationAccounting",
                  "name": "accountingExtension",
                  "type": "address"
                },
                {
                  "internalType": "contract IERC20",
                  "name": "bondToken",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "percentageDiff",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "pledgeThreshold",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "timeUntilDeadline",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "timeToBreakInequality",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "escalations",
          "outputs": [
            {
              "internalType": "enum IBondEscalationResolutionModule.Resolution",
              "name": "resolution",
              "type": "uint8"
            },
            {
              "internalType": "uint128",
              "name": "startTime",
              "type": "uint128"
            },
            {
              "internalType": "uint256",
              "name": "pledgesFor",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "pledgesAgainst",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalizeRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "inequalityData",
          "outputs": [
            {
              "internalType": "enum IBondEscalationResolutionModule.InequalityStatus",
              "name": "inequalityStatus",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "time",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "pure",
          "type": "function",
          "name": "moduleName",
          "outputs": [
            {
              "internalType": "string",
              "name": "_moduleName",
              "type": "string"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "oracle",
          "outputs": [
            {
              "internalType": "address",
              "name": "_oracle",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_pledgeAmount",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "pledgeAgainstDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "_pledgeAmount",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "pledgeForDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "pledgesAgainstDispute",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "pledges",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_pledger",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "pledgesForDispute",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "pledges",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "requestData",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "_requestData",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "resolveDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_data",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setupRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "startResolution"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "claimPledge(bytes32,bytes32)": {
            "details": "Winning pledgers will claim their pledges along with their reward. In case of no resolution, users can      claim their pledges back. Losing pledgers will go to the rewards of the winning pledgers.",
            "params": {
              "_disputeId": "The ID of the dispute the user wants to claim pledges from.",
              "_requestId": "The ID of the request associated with dispute."
            }
          },
          "decodeRequestData(bytes32)": {
            "params": {
              "_requestId": "The ID of the request"
            },
            "returns": {
              "_params": "The struct containing the parameters for the request"
            }
          },
          "finalizeRequest(bytes32,address)": {
            "params": {
              "_finalizer": "The address that initiated the finalization",
              "_requestId": "The ID of the request being finalized"
            }
          },
          "moduleName()": {
            "returns": {
              "_moduleName": "The name of the module."
            }
          },
          "oracle()": {
            "returns": {
              "_oracle": "The address of the oracle"
            }
          },
          "pledgeAgainstDispute(bytes32,bytes32,uint256)": {
            "params": {
              "_disputeId": "The ID of the dispute to pledge against of.",
              "_pledgeAmount": "The amount of pledges to pledge.",
              "_requestId": "The ID of the request associated with the dispute."
            }
          },
          "pledgeForDispute(bytes32,bytes32,uint256)": {
            "params": {
              "_disputeId": "The ID of the dispute to pledge in favor of.",
              "_pledgeAmount": "The amount of pledges to pledge.",
              "_requestId": "The ID of the request associated with the dispute."
            }
          },
          "resolveDispute(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute being resolved"
            }
          },
          "setupRequest(bytes32,bytes)": {
            "params": {
              "_data": "The data of the request",
              "_requestId": "The ID of the request"
            }
          },
          "startResolution(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute"
            }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "BASE()": {
            "notice": "Base to avoid over/underflow"
          },
          "claimPledge(bytes32,bytes32)": {
            "notice": "Allows user to claim his corresponding pledges after a dispute is resolved."
          },
          "decodeRequestData(bytes32)": {
            "notice": "Returns the decoded data for a request"
          },
          "escalations(bytes32)": {
            "notice": "Returns the bond escalation progress and the balance of pledges for and against a given dispute."
          },
          "finalizeRequest(bytes32,address)": {
            "notice": "Finalizes a given request and executes any additional logic set by the chosen modules"
          },
          "inequalityData(bytes32)": {
            "notice": "Returns the inequality status and its last update time of a given dispute."
          },
          "moduleName()": {
            "notice": "Returns the name of the module."
          },
          "oracle()": {
            "notice": "Returns the address of the oracle"
          },
          "pledgeAgainstDispute(bytes32,bytes32,uint256)": {
            "notice": "Allows users to pledge against a given dispute. This means the user believes the proposed answer is         correct and therefore wants the disputer to lose his dispute."
          },
          "pledgeForDispute(bytes32,bytes32,uint256)": {
            "notice": "Allows users to pledge in favor of a given dispute. This means the user believes the proposed answer is         incorrect and therefore wants the disputer to win his dispute."
          },
          "pledgesAgainstDispute(bytes32,address)": {
            "notice": "Returns the amount pledged by a user against a given dispute."
          },
          "pledgesForDispute(bytes32,address)": {
            "notice": "Returns the amount pledged by a user for a given dispute."
          },
          "requestData(bytes32)": {
            "notice": "Returns the data of the request associated with the provided id"
          },
          "resolveDispute(bytes32)": {
            "notice": "Resolves a dispute"
          },
          "setupRequest(bytes32,bytes)": {
            "notice": "Stores the request data and runs module-specific hooks"
          },
          "startResolution(bytes32)": {
            "notice": "Starts the resolution process"
          }
        },
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@defi-wonderland/=node_modules/@defi-wonderland/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "ds-test/=node_modules/ds-test/src/",
        "forge-std/=node_modules/forge-std/src/",
        "solmate/=node_modules/solmate/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 10000
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "solidity/contracts/modules/resolution/BondEscalationResolutionModule.sol": "BondEscalationResolutionModule"
      },
      "libraries": {}
    },
    "sources": {
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol": {
        "keccak256": "0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf",
        "urls": [
          "bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41",
          "dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol": {
        "keccak256": "0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05",
        "urls": [
          "bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f",
          "dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol": {
        "keccak256": "0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf",
        "urls": [
          "bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823",
          "dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol": {
        "keccak256": "0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4",
        "urls": [
          "bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d",
          "dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol": {
        "keccak256": "0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e",
        "urls": [
          "bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e",
          "dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol": {
        "keccak256": "0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032",
        "urls": [
          "bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d",
          "dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol": {
        "keccak256": "0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6",
        "urls": [
          "bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67",
          "dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol": {
        "keccak256": "0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b",
        "urls": [
          "bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf",
          "dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
        "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305",
        "urls": [
          "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5",
          "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol": {
        "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a",
        "urls": [
          "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a",
          "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": {
        "keccak256": "0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1",
        "urls": [
          "bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68",
          "dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/utils/Address.sol": {
        "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa",
        "urls": [
          "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931",
          "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"
        ],
        "license": "MIT"
      },
      "node_modules/solmate/src/utils/FixedPointMathLib.sol": {
        "keccak256": "0x1b62af9baf5b8e991ed7531bc87f45550ba9d61e8dbff5caf237ccaf3a3fd843",
        "urls": [
          "bzz-raw://b7b38b977c5305b18ceefbeed4c9ceaaaefa419b520de62de6604ea661f8c0a9",
          "dweb:/ipfs/QmecMRzgfMyDVa2pvBqMMDLYBappaj7Aa3qcMoQYEQrhWi"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/contracts/modules/resolution/BondEscalationResolutionModule.sol": {
        "keccak256": "0xb2459ebe7d9426fad870349f69ea765921d50cd639661003f348a1ade29a43c3",
        "urls": [
          "bzz-raw://e8c7b21ca16e8bf2511416907b8d7e3d8248ee5c09ce497a2c73458e936b89ee",
          "dweb:/ipfs/Qma5jdDELm126ABenbdNVYqh5rTgmWGeHj6WeWqUpXTkeq"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/extensions/IAccountingExtension.sol": {
        "keccak256": "0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e",
        "urls": [
          "bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0",
          "dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/extensions/IBondEscalationAccounting.sol": {
        "keccak256": "0xbb8a09dc8120dce27ef6365377acc387e0ef230969b993590cc81aaa096e36d0",
        "urls": [
          "bzz-raw://31c592b9527e6be74502d7ec135a77bb2802662c75df3a05f916fa050fe34747",
          "dweb:/ipfs/QmQBj39ptDdwMzhjgMzkJHNWbL7Ek41YNhMZaKDtKBG7oc"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/interfaces/modules/dispute/IBondEscalationModule.sol": {
        "keccak256": "0x092ef0770e8587b1828891addecd270a0d49de18df36093480e006842dd3ef20",
        "urls": [
          "bzz-raw://93939711123171337804d8acfe5aab8c1924b997cede75d16e13e7e61bf62f08",
          "dweb:/ipfs/QmQp8T8FXe5aJ6oJdUFRnzAoKarmmRihEF9aZiJWdaBwdt"
        ],
        "license": "AGPL-3.0-only"
      },
      "solidity/interfaces/modules/resolution/IBondEscalationResolutionModule.sol": {
        "keccak256": "0x238d8d6cb8453dbce0904f461f3e11668b2d204c92bac5000bbb84d92b340e6a",
        "urls": [
          "bzz-raw://9f1b326dc0027d825b9a2e00b3531569f8b8371c35696688d96d45efcb6dfd35",
          "dweb:/ipfs/QmR6TpT8KYpLoojwzfJRfHryPJ6rAWzagQQVSvQe1mbXaT"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "solidity/contracts/modules/resolution/BondEscalationResolutionModule.sol",
    "id": 39923,
    "exportedSymbols": {
      "BondEscalationResolutionModule": [
        39922
      ],
      "FixedPointMathLib": [
        34903
      ],
      "IBondEscalationResolutionModule": [
        43717
      ],
      "IERC20": [
        2822
      ],
      "IModule": [
        1782
      ],
      "IOracle": [
        2282
      ],
      "IResolutionModule": [
        2399
      ],
      "Module": [
        98
      ],
      "SafeERC20": [
        3234
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:13660:51",
    "nodes": [
      {
        "id": 38833,
        "nodeType": "PragmaDirective",
        "src": "32:24:51",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ]
      },
      {
        "id": 38835,
        "nodeType": "ImportDirective",
        "src": "104:70:51",
        "nodes": [],
        "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 2823,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38834,
              "name": "IERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2822,
              "src": "112:6:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38837,
        "nodeType": "ImportDirective",
        "src": "175:82:51",
        "nodes": [],
        "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 3235,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38836,
              "name": "SafeERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 3234,
              "src": "183:9:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38839,
        "nodeType": "ImportDirective",
        "src": "258:70:51",
        "nodes": [],
        "absolutePath": "node_modules/solmate/src/utils/FixedPointMathLib.sol",
        "file": "solmate/utils/FixedPointMathLib.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 34904,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38838,
              "name": "FixedPointMathLib",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 34903,
              "src": "266:17:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38841,
        "nodeType": "ImportDirective",
        "src": "376:137:51",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 2400,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38840,
              "name": "IResolutionModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2399,
              "src": "384:17:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38844,
        "nodeType": "ImportDirective",
        "src": "514:102:51",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 99,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38842,
              "name": "Module",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 98,
              "src": "522:6:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 38843,
              "name": "IModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 1782,
              "src": "530:7:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38846,
        "nodeType": "ImportDirective",
        "src": "617:96:51",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 2283,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38845,
              "name": "IOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2282,
              "src": "625:7:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38848,
        "nodeType": "ImportDirective",
        "src": "715:125:51",
        "nodes": [],
        "absolutePath": "solidity/interfaces/modules/resolution/IBondEscalationResolutionModule.sol",
        "file": "../../../interfaces/modules/resolution/IBondEscalationResolutionModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 39923,
        "sourceUnit": 43718,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38847,
              "name": "IBondEscalationResolutionModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 43717,
              "src": "723:31:51",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 39922,
        "nodeType": "ContractDefinition",
        "src": "842:12849:51",
        "nodes": [
          {
            "id": 38856,
            "nodeType": "UsingForDirective",
            "src": "929:27:51",
            "nodes": [],
            "global": false,
            "libraryName": {
              "id": 38853,
              "name": "SafeERC20",
              "nameLocations": [
                "935:9:51"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 3234,
              "src": "935:9:51"
            },
            "typeName": {
              "id": 38855,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 38854,
                "name": "IERC20",
                "nameLocations": [
                  "949:6:51"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 2822,
                "src": "949:6:51"
              },
              "referencedDeclaration": 2822,
              "src": "949:6:51",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$2822",
                "typeString": "contract IERC20"
              }
            }
          },
          {
            "id": 38860,
            "nodeType": "VariableDeclaration",
            "src": "1010:35:51",
            "nodes": [],
            "baseFunctions": [
              43633
            ],
            "constant": true,
            "documentation": {
              "id": 38857,
              "nodeType": "StructuredDocumentation",
              "src": "960:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "ec342ad0",
            "mutability": "constant",
            "name": "BASE",
            "nameLocation": "1034:4:51",
            "scope": 39922,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 38858,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1010:7:51",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "hexValue": "31653138",
              "id": 38859,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1041:4:51",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000000000000000000_by_1",
                "typeString": "int_const 1000000000000000000"
              },
              "value": "1e18"
            },
            "visibility": "public"
          },
          {
            "id": 38866,
            "nodeType": "VariableDeclaration",
            "src": "1100:72:51",
            "nodes": [],
            "baseFunctions": [
              43648
            ],
            "constant": false,
            "documentation": {
              "id": 38861,
              "nodeType": "StructuredDocumentation",
              "src": "1050:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "4cf3ad6a",
            "mutability": "mutable",
            "name": "escalations",
            "nameLocation": "1161:11:51",
            "scope": 39922,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
              "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation)"
            },
            "typeName": {
              "id": 38865,
              "keyName": "_disputeId",
              "keyNameLocation": "1116:10:51",
              "keyType": {
                "id": 38862,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1108:7:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "1100:53:51",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation)"
              },
              "valueName": "_escalation",
              "valueNameLocation": "1141:11:51",
              "valueType": {
                "id": 38864,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 38863,
                  "name": "Escalation",
                  "nameLocations": [
                    "1130:10:51"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 43627,
                  "src": "1130:10:51"
                },
                "referencedDeclaration": 43627,
                "src": "1130:10:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                  "typeString": "struct IBondEscalationResolutionModule.Escalation"
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 38872,
            "nodeType": "VariableDeclaration",
            "src": "1227:83:51",
            "nodes": [],
            "baseFunctions": [
              43659
            ],
            "constant": false,
            "documentation": {
              "id": 38867,
              "nodeType": "StructuredDocumentation",
              "src": "1177:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "f1c2fb31",
            "mutability": "mutable",
            "name": "inequalityData",
            "nameLocation": "1296:14:51",
            "scope": 39922,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_InequalityData_$43617_storage_$",
              "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.InequalityData)"
            },
            "typeName": {
              "id": 38871,
              "keyName": "_disputeId",
              "keyNameLocation": "1243:10:51",
              "keyType": {
                "id": 38868,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1235:7:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "1227:61:51",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_InequalityData_$43617_storage_$",
                "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.InequalityData)"
              },
              "valueName": "_inequalityData",
              "valueNameLocation": "1272:15:51",
              "valueType": {
                "id": 38870,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 38869,
                  "name": "InequalityData",
                  "nameLocations": [
                    "1257:14:51"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 43617,
                  "src": "1257:14:51"
                },
                "referencedDeclaration": 43617,
                "src": "1257:14:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                  "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 38879,
            "nodeType": "VariableDeclaration",
            "src": "1365:100:51",
            "nodes": [],
            "baseFunctions": [
              43669
            ],
            "constant": false,
            "documentation": {
              "id": 38873,
              "nodeType": "StructuredDocumentation",
              "src": "1315:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "076404dc",
            "mutability": "mutable",
            "name": "pledgesForDispute",
            "nameLocation": "1448:17:51",
            "scope": 39922,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => uint256))"
            },
            "typeName": {
              "id": 38878,
              "keyName": "_disputeId",
              "keyNameLocation": "1381:10:51",
              "keyType": {
                "id": 38874,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1373:7:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "1365:75:51",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => uint256))"
              },
              "valueName": "",
              "valueNameLocation": "-1:-1:-1",
              "valueType": {
                "id": 38877,
                "keyName": "_pledger",
                "keyNameLocation": "1411:8:51",
                "keyType": {
                  "id": 38875,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1403:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "1395:44:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueName": "pledges",
                "valueNameLocation": "1431:7:51",
                "valueType": {
                  "id": 38876,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1423:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 38886,
            "nodeType": "VariableDeclaration",
            "src": "1520:104:51",
            "nodes": [],
            "baseFunctions": [
              43679
            ],
            "constant": false,
            "documentation": {
              "id": 38880,
              "nodeType": "StructuredDocumentation",
              "src": "1470:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "ef940cef",
            "mutability": "mutable",
            "name": "pledgesAgainstDispute",
            "nameLocation": "1603:21:51",
            "scope": 39922,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => uint256))"
            },
            "typeName": {
              "id": 38885,
              "keyName": "_disputeId",
              "keyNameLocation": "1536:10:51",
              "keyType": {
                "id": 38881,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "1528:7:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "1520:75:51",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => uint256))"
              },
              "valueName": "",
              "valueNameLocation": "-1:-1:-1",
              "valueType": {
                "id": 38884,
                "keyName": "_pledger",
                "keyNameLocation": "1566:8:51",
                "keyType": {
                  "id": 38882,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1558:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "1550:44:51",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                  "typeString": "mapping(address => uint256)"
                },
                "valueName": "pledges",
                "valueNameLocation": "1586:7:51",
                "valueType": {
                  "id": 38883,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1578:7:51",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                }
              }
            },
            "visibility": "public"
          },
          {
            "id": 38896,
            "nodeType": "FunctionDefinition",
            "src": "1629:47:51",
            "nodes": [],
            "body": {
              "id": 38895,
              "nodeType": "Block",
              "src": "1674:2:51",
              "nodes": [],
              "statements": []
            },
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 38892,
                    "name": "_oracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 38889,
                    "src": "1665:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  }
                ],
                "id": 38893,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 38891,
                  "name": "Module",
                  "nameLocations": [
                    "1658:6:51"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 98,
                  "src": "1658:6:51"
                },
                "nodeType": "ModifierInvocation",
                "src": "1658:15:51"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "parameters": {
              "id": 38890,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38889,
                  "mutability": "mutable",
                  "name": "_oracle",
                  "nameLocation": "1649:7:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 38896,
                  "src": "1641:15:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracle_$2282",
                    "typeString": "contract IOracle"
                  },
                  "typeName": {
                    "id": 38888,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 38887,
                      "name": "IOracle",
                      "nameLocations": [
                        "1641:7:51"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2282,
                      "src": "1641:7:51"
                    },
                    "referencedDeclaration": 2282,
                    "src": "1641:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1640:17:51"
            },
            "returnParameters": {
              "id": 38894,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1674:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 38905,
            "nodeType": "FunctionDefinition",
            "src": "1706:122:51",
            "nodes": [],
            "body": {
              "id": 38904,
              "nodeType": "Block",
              "src": "1778:50:51",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "hexValue": "426f6e64457363616c6174696f6e5265736f6c7574696f6e4d6f64756c65",
                    "id": 38902,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1791:32:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_ae0eb782b91a27c8ca7f653d0987aa08d8311d189caa536fadda2d1ac24b5cc6",
                      "typeString": "literal_string \"BondEscalationResolutionModule\""
                    },
                    "value": "BondEscalationResolutionModule"
                  },
                  "functionReturnParameters": 38901,
                  "id": 38903,
                  "nodeType": "Return",
                  "src": "1784:39:51"
                }
              ]
            },
            "baseFunctions": [
              1781
            ],
            "documentation": {
              "id": 38897,
              "nodeType": "StructuredDocumentation",
              "src": "1680:23:51",
              "text": "@inheritdoc IModule"
            },
            "functionSelector": "93f0899a",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "moduleName",
            "nameLocation": "1715:10:51",
            "parameters": {
              "id": 38898,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1725:2:51"
            },
            "returnParameters": {
              "id": 38901,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38900,
                  "mutability": "mutable",
                  "name": "_moduleName",
                  "nameLocation": "1765:11:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 38905,
                  "src": "1751:25:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 38899,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1751:6:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1750:27:51"
            },
            "scope": 39922,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 38926,
            "nodeType": "FunctionDefinition",
            "src": "1882:179:51",
            "nodes": [],
            "body": {
              "id": 38925,
              "nodeType": "Block",
              "src": "1984:77:51",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 38923,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 38914,
                      "name": "_params",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38912,
                      "src": "1990:7:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "baseExpression": {
                            "id": 38917,
                            "name": "requestData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14,
                            "src": "2011:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                              "typeString": "mapping(bytes32 => bytes storage ref)"
                            }
                          },
                          "id": 38919,
                          "indexExpression": {
                            "id": 38918,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38908,
                            "src": "2023:10:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2011:23:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        {
                          "components": [
                            {
                              "id": 38920,
                              "name": "RequestParameters",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 43611,
                              "src": "2037:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43611_storage_ptr_$",
                                "typeString": "type(struct IBondEscalationResolutionModule.RequestParameters storage pointer)"
                              }
                            }
                          ],
                          "id": 38921,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "2036:19:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43611_storage_ptr_$",
                            "typeString": "type(struct IBondEscalationResolutionModule.RequestParameters storage pointer)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          },
                          {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43611_storage_ptr_$",
                            "typeString": "type(struct IBondEscalationResolutionModule.RequestParameters storage pointer)"
                          }
                        ],
                        "expression": {
                          "id": 38915,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -1,
                          "src": "2000:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 38916,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2004:6:51",
                        "memberName": "decode",
                        "nodeType": "MemberAccess",
                        "src": "2000:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38922,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2000:56:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                      }
                    },
                    "src": "1990:66:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                    }
                  },
                  "id": 38924,
                  "nodeType": "ExpressionStatement",
                  "src": "1990:66:51"
                }
              ]
            },
            "baseFunctions": [
              43688
            ],
            "documentation": {
              "id": 38906,
              "nodeType": "StructuredDocumentation",
              "src": "1832:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "4d610a46",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decodeRequestData",
            "nameLocation": "1891:17:51",
            "parameters": {
              "id": 38909,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38908,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "1917:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 38926,
                  "src": "1909:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38907,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1909:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1908:20:51"
            },
            "returnParameters": {
              "id": 38913,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38912,
                  "mutability": "mutable",
                  "name": "_params",
                  "nameLocation": "1975:7:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 38926,
                  "src": "1950:32:51",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                    "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                  },
                  "typeName": {
                    "id": 38911,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 38910,
                      "name": "RequestParameters",
                      "nameLocations": [
                        "1950:17:51"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 43611,
                      "src": "1950:17:51"
                    },
                    "referencedDeclaration": 43611,
                    "src": "1950:17:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_storage_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1949:34:51"
            },
            "scope": 39922,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 38959,
            "nodeType": "FunctionDefinition",
            "src": "2101:254:51",
            "nodes": [],
            "body": {
              "id": 38958,
              "nodeType": "Block",
              "src": "2166:189:51",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    38935
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38935,
                      "mutability": "mutable",
                      "name": "_requestId",
                      "nameLocation": "2180:10:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 38958,
                      "src": "2172:18:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 38934,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2172:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38941,
                  "initialValue": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 38938,
                          "name": "_disputeId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38929,
                          "src": "2211:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "id": 38936,
                          "name": "ORACLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10,
                          "src": "2193:6:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IOracle_$2282",
                            "typeString": "contract IOracle"
                          }
                        },
                        "id": 38937,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2200:10:51",
                        "memberName": "getDispute",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2162,
                        "src": "2193:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                          "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                        }
                      },
                      "id": 38939,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2193:29:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 38940,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2223:9:51",
                    "memberName": "requestId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2041,
                    "src": "2193:39:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2172:60:51"
                },
                {
                  "expression": {
                    "id": 38951,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "baseExpression": {
                          "id": 38942,
                          "name": "escalations",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38866,
                          "src": "2238:11:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                            "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation storage ref)"
                          }
                        },
                        "id": 38944,
                        "indexExpression": {
                          "id": 38943,
                          "name": "_disputeId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38929,
                          "src": "2250:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2238:23:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage ref"
                        }
                      },
                      "id": 38945,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "2262:9:51",
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43622,
                      "src": "2238:33:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 38948,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "2282:5:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 38949,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2288:9:51",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "2282:15:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 38947,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2274:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint128_$",
                          "typeString": "type(uint128)"
                        },
                        "typeName": {
                          "id": 38946,
                          "name": "uint128",
                          "nodeType": "ElementaryTypeName",
                          "src": "2274:7:51",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 38950,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2274:24:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "src": "2238:60:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint128",
                      "typeString": "uint128"
                    }
                  },
                  "id": 38952,
                  "nodeType": "ExpressionStatement",
                  "src": "2238:60:51"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 38954,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38935,
                        "src": "2327:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 38955,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38929,
                        "src": "2339:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 38953,
                      "name": "ResolutionStarted",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2386,
                      "src": "2309:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 38956,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2309:41:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 38957,
                  "nodeType": "EmitStatement",
                  "src": "2304:46:51"
                }
              ]
            },
            "baseFunctions": [
              2392
            ],
            "documentation": {
              "id": 38927,
              "nodeType": "StructuredDocumentation",
              "src": "2065:33:51",
              "text": "@inheritdoc IResolutionModule"
            },
            "functionSelector": "d96dd0e7",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 38932,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 38931,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "2155:10:51"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "2155:10:51"
                },
                "nodeType": "ModifierInvocation",
                "src": "2155:10:51"
              }
            ],
            "name": "startResolution",
            "nameLocation": "2110:15:51",
            "parameters": {
              "id": 38930,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38929,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "2134:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 38959,
                  "src": "2126:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38928,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2126:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2125:20:51"
            },
            "returnParameters": {
              "id": 38933,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2166:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 39203,
            "nodeType": "FunctionDefinition",
            "src": "2409:2780:51",
            "nodes": [],
            "body": {
              "id": 39202,
              "nodeType": "Block",
              "src": "2507:2682:51",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    38971
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38971,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "2532:11:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39202,
                      "src": "2513:30:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation"
                      },
                      "typeName": {
                        "id": 38970,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38969,
                          "name": "Escalation",
                          "nameLocations": [
                            "2513:10:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43627,
                          "src": "2513:10:51"
                        },
                        "referencedDeclaration": 43627,
                        "src": "2513:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38975,
                  "initialValue": {
                    "baseExpression": {
                      "id": 38972,
                      "name": "escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38866,
                      "src": "2546:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation storage ref)"
                      }
                    },
                    "id": 38974,
                    "indexExpression": {
                      "id": 38973,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38964,
                      "src": "2558:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2546:23:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escalation_$43627_storage",
                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2513:56:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint128",
                      "typeString": "uint128"
                    },
                    "id": 38979,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 38976,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38971,
                        "src": "2580:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 38977,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2592:9:51",
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43622,
                      "src": "2580:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 38978,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2605:1:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2580:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 38983,
                  "nodeType": "IfStatement",
                  "src": "2576:84:51",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 38980,
                        "name": "BondEscalationResolutionModule_NotEscalated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43572,
                        "src": "2615:43:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38981,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2615:45:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 38982,
                    "nodeType": "RevertStatement",
                    "src": "2608:52:51"
                  }
                },
                {
                  "assignments": [
                    38986
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38986,
                      "mutability": "mutable",
                      "name": "_inequalityData",
                      "nameLocation": "2690:15:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39202,
                      "src": "2667:38:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                      },
                      "typeName": {
                        "id": 38985,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38984,
                          "name": "InequalityData",
                          "nameLocations": [
                            "2667:14:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43617,
                          "src": "2667:14:51"
                        },
                        "referencedDeclaration": 43617,
                        "src": "2667:14:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38990,
                  "initialValue": {
                    "baseExpression": {
                      "id": 38987,
                      "name": "inequalityData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38872,
                      "src": "2708:14:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_InequalityData_$43617_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.InequalityData storage ref)"
                      }
                    },
                    "id": 38989,
                    "indexExpression": {
                      "id": 38988,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38964,
                      "src": "2723:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2708:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage",
                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2667:67:51"
                },
                {
                  "assignments": [
                    38993
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38993,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "2766:7:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39202,
                      "src": "2741:32:51",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 38992,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38991,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "2741:17:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43611,
                          "src": "2741:17:51"
                        },
                        "referencedDeclaration": 43611,
                        "src": "2741:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38997,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 38995,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38962,
                        "src": "2794:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 38994,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38926,
                      "src": "2776:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43611_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationResolutionModule.RequestParameters memory)"
                      }
                    },
                    "id": 38996,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2776:29:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2741:64:51"
                },
                {
                  "id": 39042,
                  "nodeType": "Block",
                  "src": "2812:606:51",
                  "statements": [
                    {
                      "assignments": [
                        38999
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 38999,
                          "mutability": "mutable",
                          "name": "_pledgingDeadline",
                          "nameLocation": "2828:17:51",
                          "nodeType": "VariableDeclaration",
                          "scope": 39042,
                          "src": "2820:25:51",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "typeName": {
                            "id": 38998,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "2820:7:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 39005,
                      "initialValue": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 39004,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39000,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38971,
                            "src": "2848:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39001,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2860:9:51",
                          "memberName": "startTime",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43622,
                          "src": "2848:21:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint128",
                            "typeString": "uint128"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "expression": {
                            "id": 39002,
                            "name": "_params",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38993,
                            "src": "2872:7:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                            }
                          },
                          "id": 39003,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2880:17:51",
                          "memberName": "timeUntilDeadline",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43608,
                          "src": "2872:25:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2848:49:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "2820:77:51"
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 39009,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39006,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "2910:5:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 39007,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2916:9:51",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "2910:15:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 39008,
                          "name": "_pledgingDeadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38999,
                          "src": "2929:17:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2910:36:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39013,
                      "nodeType": "IfStatement",
                      "src": "2906:99:51",
                      "trueBody": {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 39010,
                            "name": "BondEscalationResolutionModule_PledgingPhaseOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43575,
                            "src": "2955:48:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 39011,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2955:50:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 39012,
                        "nodeType": "RevertStatement",
                        "src": "2948:57:51"
                      }
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 39026,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 39017,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 39014,
                              "name": "_inequalityData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 38986,
                              "src": "3069:15:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                              }
                            },
                            "id": 39015,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3085:4:51",
                            "memberName": "time",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43616,
                            "src": "3069:20:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 39016,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3093:1:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3069:25:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 39025,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 39018,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -4,
                              "src": "3098:5:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 39019,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3104:9:51",
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "src": "3098:15:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 39024,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 39020,
                                "name": "_inequalityData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38986,
                                "src": "3117:15:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                }
                              },
                              "id": 39021,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3133:4:51",
                              "memberName": "time",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43616,
                              "src": "3117:20:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "expression": {
                                "id": 39022,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38993,
                                "src": "3140:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                }
                              },
                              "id": 39023,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3148:21:51",
                              "memberName": "timeToBreakInequality",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43610,
                              "src": "3140:29:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "3117:52:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3098:71:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3069:100:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39031,
                      "nodeType": "IfStatement",
                      "src": "3065:179:51",
                      "trueBody": {
                        "id": 39030,
                        "nodeType": "Block",
                        "src": "3171:73:51",
                        "statements": [
                          {
                            "errorCall": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 39027,
                                "name": "BondEscalationResolutionModule_MustBeResolved",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43581,
                                "src": "3188:45:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                  "typeString": "function () pure"
                                }
                              },
                              "id": 39028,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3188:47:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 39029,
                            "nodeType": "RevertStatement",
                            "src": "3181:54:51"
                          }
                        ]
                      }
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                          "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                        },
                        "id": 39036,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39032,
                            "name": "_inequalityData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38986,
                            "src": "3256:15:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                            }
                          },
                          "id": 39033,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3272:16:51",
                          "memberName": "inequalityStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43614,
                          "src": "3256:32:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                            "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "id": 39034,
                            "name": "InequalityStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43591,
                            "src": "3292:16:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                              "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                            }
                          },
                          "id": 39035,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "3309:21:51",
                          "memberName": "AgainstTurnToEqualize",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43590,
                          "src": "3292:38:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                            "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                          }
                        },
                        "src": "3256:74:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39041,
                      "nodeType": "IfStatement",
                      "src": "3252:160:51",
                      "trueBody": {
                        "id": 39040,
                        "nodeType": "Block",
                        "src": "3332:80:51",
                        "statements": [
                          {
                            "errorCall": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 39037,
                                "name": "BondEscalationResolutionModule_AgainstTurnToEqualize",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43584,
                                "src": "3349:52:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                  "typeString": "function () pure"
                                }
                              },
                              "id": 39038,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3349:54:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 39039,
                            "nodeType": "RevertStatement",
                            "src": "3342:61:51"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "expression": {
                    "id": 39047,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 39043,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38971,
                        "src": "3424:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39045,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "3436:10:51",
                      "memberName": "pledgesFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43624,
                      "src": "3424:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 39046,
                      "name": "_pledgeAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38966,
                      "src": "3450:13:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3424:39:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 39048,
                  "nodeType": "ExpressionStatement",
                  "src": "3424:39:51"
                },
                {
                  "expression": {
                    "id": 39056,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "baseExpression": {
                          "id": 39049,
                          "name": "pledgesForDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38879,
                          "src": "3469:17:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                          }
                        },
                        "id": 39053,
                        "indexExpression": {
                          "id": 39050,
                          "name": "_disputeId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38964,
                          "src": "3487:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3469:29:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 39054,
                      "indexExpression": {
                        "expression": {
                          "id": 39051,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "3499:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39052,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3503:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "3499:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3469:41:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 39055,
                      "name": "_pledgeAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38966,
                      "src": "3514:13:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3469:58:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 39057,
                  "nodeType": "ExpressionStatement",
                  "src": "3469:58:51"
                },
                {
                  "assignments": [
                    39059
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39059,
                      "mutability": "mutable",
                      "name": "_updatedTotalVotes",
                      "nameLocation": "3542:18:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39202,
                      "src": "3534:26:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39058,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3534:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39065,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39060,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38971,
                        "src": "3563:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39061,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3575:10:51",
                      "memberName": "pledgesFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43624,
                      "src": "3563:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "expression": {
                        "id": 39062,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38971,
                        "src": "3588:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39063,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3600:14:51",
                      "memberName": "pledgesAgainst",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43626,
                      "src": "3588:26:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3563:51:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3534:80:51"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 39071,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "3674:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39072,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3678:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "3674:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 39073,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38962,
                        "src": "3704:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39074,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38964,
                        "src": "3734:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 39075,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38993,
                          "src": "3760:7:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                          }
                        },
                        "id": 39076,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3768:9:51",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43602,
                        "src": "3760:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "id": 39077,
                        "name": "_pledgeAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38966,
                        "src": "3794:13:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 39066,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38993,
                          "src": "3621:7:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                          }
                        },
                        "id": 39069,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3629:19:51",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43599,
                        "src": "3621:27:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 39070,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3649:6:51",
                      "memberName": "pledge",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42743,
                      "src": "3621:34:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 39078,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "3664:8:51",
                      "3692:10:51",
                      "3722:10:51",
                      "3752:6:51",
                      "3785:7:51"
                    ],
                    "names": [
                      "_pledger",
                      "_requestId",
                      "_disputeId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "3621:193:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39079,
                  "nodeType": "ExpressionStatement",
                  "src": "3621:193:51"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 39081,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "3843:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39082,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3847:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "3843:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 39083,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38962,
                        "src": "3855:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39084,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38964,
                        "src": "3867:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39085,
                        "name": "_pledgeAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38966,
                        "src": "3879:13:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 39080,
                      "name": "PledgedForDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 43510,
                      "src": "3825:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,uint256)"
                      }
                    },
                    "id": 39086,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3825:68:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39087,
                  "nodeType": "EmitStatement",
                  "src": "3820:73:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39091,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 39088,
                      "name": "_updatedTotalVotes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39059,
                      "src": "3904:18:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">=",
                    "rightExpression": {
                      "expression": {
                        "id": 39089,
                        "name": "_params",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38993,
                        "src": "3926:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                        }
                      },
                      "id": 39090,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3934:15:51",
                      "memberName": "pledgeThreshold",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43606,
                      "src": "3926:23:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3904:45:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39201,
                  "nodeType": "IfStatement",
                  "src": "3900:1285:51",
                  "trueBody": {
                    "id": 39200,
                    "nodeType": "Block",
                    "src": "3951:1234:51",
                    "statements": [
                      {
                        "assignments": [
                          39093
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39093,
                            "mutability": "mutable",
                            "name": "_updatedForVotes",
                            "nameLocation": "3967:16:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "3959:24:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39092,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "3959:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39096,
                        "initialValue": {
                          "expression": {
                            "id": 39094,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38971,
                            "src": "3986:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39095,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3998:10:51",
                          "memberName": "pledgesFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43624,
                          "src": "3986:22:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "3959:49:51"
                      },
                      {
                        "assignments": [
                          39098
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39098,
                            "mutability": "mutable",
                            "name": "_againstVotes",
                            "nameLocation": "4024:13:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4016:21:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39097,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4016:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39101,
                        "initialValue": {
                          "expression": {
                            "id": 39099,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38971,
                            "src": "4040:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39100,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4052:14:51",
                          "memberName": "pledgesAgainst",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43626,
                          "src": "4040:26:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4016:50:51"
                      },
                      {
                        "assignments": [
                          39103
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39103,
                            "mutability": "mutable",
                            "name": "_newForVotesPercentage",
                            "nameLocation": "4083:22:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4075:30:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39102,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4075:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39110,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 39106,
                              "name": "_updatedForVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39093,
                              "src": "4137:16:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39107,
                              "name": "BASE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 38860,
                              "src": "4155:4:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39108,
                              "name": "_updatedTotalVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39059,
                              "src": "4161:18:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 39104,
                              "name": "FixedPointMathLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 34903,
                              "src": "4108:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                "typeString": "type(library FixedPointMathLib)"
                              }
                            },
                            "id": 39105,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4126:10:51",
                            "memberName": "mulDivDown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 34834,
                            "src": "4108:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 39109,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4108:72:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4075:105:51"
                      },
                      {
                        "assignments": [
                          39112
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39112,
                            "mutability": "mutable",
                            "name": "_againstVotesPercentage",
                            "nameLocation": "4196:23:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4188:31:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39111,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4188:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39119,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 39115,
                              "name": "_againstVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39098,
                              "src": "4251:13:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39116,
                              "name": "BASE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 38860,
                              "src": "4266:4:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39117,
                              "name": "_updatedTotalVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39059,
                              "src": "4272:18:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 39113,
                              "name": "FixedPointMathLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 34903,
                              "src": "4222:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                "typeString": "type(library FixedPointMathLib)"
                              }
                            },
                            "id": 39114,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4240:10:51",
                            "memberName": "mulDivDown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 34834,
                            "src": "4222:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 39118,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4222:69:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4188:103:51"
                      },
                      {
                        "assignments": [
                          39121
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39121,
                            "mutability": "mutable",
                            "name": "_forPercentageDifference",
                            "nameLocation": "4307:24:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4300:31:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39120,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4300:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39131,
                        "initialValue": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39130,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 39124,
                                "name": "_newForVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39103,
                                "src": "4341:22:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39123,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4334:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39122,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "4334:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39125,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4334:30:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "arguments": [
                              {
                                "id": 39128,
                                "name": "_againstVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39112,
                                "src": "4374:23:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39127,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4367:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39126,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "4367:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39129,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4367:31:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "4334:64:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4300:98:51"
                      },
                      {
                        "assignments": [
                          39133
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39133,
                            "mutability": "mutable",
                            "name": "_againstPercentageDifference",
                            "nameLocation": "4413:28:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4406:35:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39132,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4406:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39143,
                        "initialValue": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39142,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 39136,
                                "name": "_againstVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39112,
                                "src": "4451:23:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39135,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4444:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39134,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "4444:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39137,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4444:31:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "arguments": [
                              {
                                "id": 39140,
                                "name": "_newForVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39103,
                                "src": "4485:22:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39139,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "4478:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39138,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "4478:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39141,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4478:30:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "4444:64:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4406:102:51"
                      },
                      {
                        "assignments": [
                          39145
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39145,
                            "mutability": "mutable",
                            "name": "_scaledPercentageDiffAsInt",
                            "nameLocation": "4524:26:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39200,
                            "src": "4517:33:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39144,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4517:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39155,
                        "initialValue": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 39153,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 39151,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 39148,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 38993,
                                    "src": "4560:7:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 39149,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "4568:14:51",
                                  "memberName": "percentageDiff",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43604,
                                  "src": "4560:22:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "id": 39150,
                                  "name": "BASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38860,
                                  "src": "4585:4:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4560:29:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "/",
                              "rightExpression": {
                                "hexValue": "313030",
                                "id": 39152,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4592:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_100_by_1",
                                  "typeString": "int_const 100"
                                },
                                "value": "100"
                              },
                              "src": "4560:35:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 39147,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "4553:6:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_int256_$",
                              "typeString": "type(int256)"
                            },
                            "typeName": {
                              "id": 39146,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "4553:6:51",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 39154,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4553:43:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4517:79:51"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39158,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 39156,
                            "name": "_againstPercentageDifference",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39133,
                            "src": "4609:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "id": 39157,
                            "name": "_scaledPercentageDiffAsInt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39145,
                            "src": "4641:26:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "4609:58:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 39160,
                        "nodeType": "IfStatement",
                        "src": "4605:71:51",
                        "trueBody": {
                          "functionReturnParameters": 38968,
                          "id": 39159,
                          "nodeType": "Return",
                          "src": "4669:7:51"
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39163,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 39161,
                            "name": "_forPercentageDifference",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39121,
                            "src": "4688:24:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "id": 39162,
                            "name": "_scaledPercentageDiffAsInt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39145,
                            "src": "4716:26:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "4688:54:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                              "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                            },
                            "id": 39183,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 39179,
                                "name": "_inequalityData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38986,
                                "src": "4894:15:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                }
                              },
                              "id": 39180,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "4910:16:51",
                              "memberName": "inequalityStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43614,
                              "src": "4894:32:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "id": 39181,
                                "name": "InequalityStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43591,
                                "src": "4930:16:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                  "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                }
                              },
                              "id": 39182,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "4947:17:51",
                              "memberName": "ForTurnToEqualize",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43589,
                              "src": "4930:34:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                              }
                            },
                            "src": "4894:70:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 39198,
                          "nodeType": "IfStatement",
                          "src": "4890:289:51",
                          "trueBody": {
                            "id": 39197,
                            "nodeType": "Block",
                            "src": "4966:213:51",
                            "statements": [
                              {
                                "expression": {
                                  "id": 39189,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "expression": {
                                      "id": 39184,
                                      "name": "_inequalityData",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 38986,
                                      "src": "5075:15:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                        "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                      }
                                    },
                                    "id": 39186,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": true,
                                    "memberLocation": "5091:16:51",
                                    "memberName": "inequalityStatus",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43614,
                                    "src": "5075:32:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                      "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "expression": {
                                      "id": 39187,
                                      "name": "InequalityStatus",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 43591,
                                      "src": "5110:16:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                        "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                      }
                                    },
                                    "id": 39188,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "5127:9:51",
                                    "memberName": "Equalized",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43588,
                                    "src": "5110:26:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                      "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                    }
                                  },
                                  "src": "5075:61:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "id": 39190,
                                "nodeType": "ExpressionStatement",
                                "src": "5075:61:51"
                              },
                              {
                                "expression": {
                                  "id": 39195,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "expression": {
                                      "id": 39191,
                                      "name": "_inequalityData",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 38986,
                                      "src": "5146:15:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                        "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                      }
                                    },
                                    "id": 39193,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": true,
                                    "memberLocation": "5162:4:51",
                                    "memberName": "time",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43616,
                                    "src": "5146:20:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "hexValue": "30",
                                    "id": 39194,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "5169:1:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "src": "5146:24:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 39196,
                                "nodeType": "ExpressionStatement",
                                "src": "5146:24:51"
                              }
                            ]
                          }
                        },
                        "id": 39199,
                        "nodeType": "IfStatement",
                        "src": "4684:495:51",
                        "trueBody": {
                          "id": 39178,
                          "nodeType": "Block",
                          "src": "4744:140:51",
                          "statements": [
                            {
                              "expression": {
                                "id": 39169,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 39164,
                                    "name": "_inequalityData",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 38986,
                                    "src": "4754:15:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                    }
                                  },
                                  "id": 39166,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "4770:16:51",
                                  "memberName": "inequalityStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43614,
                                  "src": "4754:32:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "expression": {
                                    "id": 39167,
                                    "name": "InequalityStatus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 43591,
                                    "src": "4789:16:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                      "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                    }
                                  },
                                  "id": 39168,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "4806:21:51",
                                  "memberName": "AgainstTurnToEqualize",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43590,
                                  "src": "4789:38:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "src": "4754:73:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                  "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                }
                              },
                              "id": 39170,
                              "nodeType": "ExpressionStatement",
                              "src": "4754:73:51"
                            },
                            {
                              "expression": {
                                "id": 39176,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 39171,
                                    "name": "_inequalityData",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 38986,
                                    "src": "4837:15:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                    }
                                  },
                                  "id": 39173,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "4853:4:51",
                                  "memberName": "time",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43616,
                                  "src": "4837:20:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "expression": {
                                    "id": 39174,
                                    "name": "block",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -4,
                                    "src": "4860:5:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_block",
                                      "typeString": "block"
                                    }
                                  },
                                  "id": 39175,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "4866:9:51",
                                  "memberName": "timestamp",
                                  "nodeType": "MemberAccess",
                                  "src": "4860:15:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4837:38:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 39177,
                              "nodeType": "ExpressionStatement",
                              "src": "4837:38:51"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "baseFunctions": [
              43698
            ],
            "documentation": {
              "id": 38960,
              "nodeType": "StructuredDocumentation",
              "src": "2359:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "d0f27f78",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pledgeForDispute",
            "nameLocation": "2418:16:51",
            "parameters": {
              "id": 38967,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38962,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "2443:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39203,
                  "src": "2435:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38961,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2435:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 38964,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "2463:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39203,
                  "src": "2455:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38963,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2455:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 38966,
                  "mutability": "mutable",
                  "name": "_pledgeAmount",
                  "nameLocation": "2483:13:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39203,
                  "src": "2475:21:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 38965,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2475:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2434:63:51"
            },
            "returnParameters": {
              "id": 38968,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2507:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 39447,
            "nodeType": "FunctionDefinition",
            "src": "5243:2787:51",
            "nodes": [],
            "body": {
              "id": 39446,
              "nodeType": "Block",
              "src": "5345:2685:51",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    39215
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39215,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "5370:11:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39446,
                      "src": "5351:30:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation"
                      },
                      "typeName": {
                        "id": 39214,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39213,
                          "name": "Escalation",
                          "nameLocations": [
                            "5351:10:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43627,
                          "src": "5351:10:51"
                        },
                        "referencedDeclaration": 43627,
                        "src": "5351:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39219,
                  "initialValue": {
                    "baseExpression": {
                      "id": 39216,
                      "name": "escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38866,
                      "src": "5384:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation storage ref)"
                      }
                    },
                    "id": 39218,
                    "indexExpression": {
                      "id": 39217,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39208,
                      "src": "5396:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "5384:23:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escalation_$43627_storage",
                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5351:56:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint128",
                      "typeString": "uint128"
                    },
                    "id": 39223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39220,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39215,
                        "src": "5418:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39221,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5430:9:51",
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43622,
                      "src": "5418:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 39222,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5443:1:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5418:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39227,
                  "nodeType": "IfStatement",
                  "src": "5414:84:51",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 39224,
                        "name": "BondEscalationResolutionModule_NotEscalated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43572,
                        "src": "5453:43:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 39225,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5453:45:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 39226,
                    "nodeType": "RevertStatement",
                    "src": "5446:52:51"
                  }
                },
                {
                  "assignments": [
                    39230
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39230,
                      "mutability": "mutable",
                      "name": "_inequalityData",
                      "nameLocation": "5528:15:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39446,
                      "src": "5505:38:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                      },
                      "typeName": {
                        "id": 39229,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39228,
                          "name": "InequalityData",
                          "nameLocations": [
                            "5505:14:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43617,
                          "src": "5505:14:51"
                        },
                        "referencedDeclaration": 43617,
                        "src": "5505:14:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39234,
                  "initialValue": {
                    "baseExpression": {
                      "id": 39231,
                      "name": "inequalityData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38872,
                      "src": "5546:14:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_InequalityData_$43617_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.InequalityData storage ref)"
                      }
                    },
                    "id": 39233,
                    "indexExpression": {
                      "id": 39232,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39208,
                      "src": "5561:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "5546:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage",
                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5505:67:51"
                },
                {
                  "assignments": [
                    39237
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39237,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "5604:7:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39446,
                      "src": "5579:32:51",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 39236,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39235,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "5579:17:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43611,
                          "src": "5579:17:51"
                        },
                        "referencedDeclaration": 43611,
                        "src": "5579:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39241,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 39239,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39206,
                        "src": "5632:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 39238,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38926,
                      "src": "5614:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43611_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationResolutionModule.RequestParameters memory)"
                      }
                    },
                    "id": 39240,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5614:29:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5579:64:51"
                },
                {
                  "id": 39286,
                  "nodeType": "Block",
                  "src": "5650:598:51",
                  "statements": [
                    {
                      "assignments": [
                        39243
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 39243,
                          "mutability": "mutable",
                          "name": "_pledgingDeadline",
                          "nameLocation": "5666:17:51",
                          "nodeType": "VariableDeclaration",
                          "scope": 39286,
                          "src": "5658:25:51",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "typeName": {
                            "id": 39242,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "5658:7:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 39249,
                      "initialValue": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 39248,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39244,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39215,
                            "src": "5686:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39245,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5698:9:51",
                          "memberName": "startTime",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43622,
                          "src": "5686:21:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint128",
                            "typeString": "uint128"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "expression": {
                            "id": 39246,
                            "name": "_params",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39237,
                            "src": "5710:7:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                            }
                          },
                          "id": 39247,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5718:17:51",
                          "memberName": "timeUntilDeadline",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43608,
                          "src": "5710:25:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5686:49:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "5658:77:51"
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 39253,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39250,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "5748:5:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 39251,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5754:9:51",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "5748:15:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "id": 39252,
                          "name": "_pledgingDeadline",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39243,
                          "src": "5767:17:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5748:36:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39257,
                      "nodeType": "IfStatement",
                      "src": "5744:99:51",
                      "trueBody": {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 39254,
                            "name": "BondEscalationResolutionModule_PledgingPhaseOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43575,
                            "src": "5793:48:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 39255,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5793:50:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 39256,
                        "nodeType": "RevertStatement",
                        "src": "5786:57:51"
                      }
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 39270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 39261,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 39258,
                              "name": "_inequalityData",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39230,
                              "src": "5907:15:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                              }
                            },
                            "id": 39259,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5923:4:51",
                            "memberName": "time",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43616,
                            "src": "5907:20:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 39260,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5931:1:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5907:25:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 39269,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 39262,
                              "name": "block",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": -4,
                              "src": "5936:5:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_block",
                                "typeString": "block"
                              }
                            },
                            "id": 39263,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5942:9:51",
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "src": "5936:15:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 39268,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 39264,
                                "name": "_inequalityData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39230,
                                "src": "5955:15:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                }
                              },
                              "id": 39265,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5971:4:51",
                              "memberName": "time",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43616,
                              "src": "5955:20:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "expression": {
                                "id": 39266,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39237,
                                "src": "5978:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                }
                              },
                              "id": 39267,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5986:21:51",
                              "memberName": "timeToBreakInequality",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43610,
                              "src": "5978:29:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "5955:52:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5936:71:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5907:100:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39275,
                      "nodeType": "IfStatement",
                      "src": "5903:179:51",
                      "trueBody": {
                        "id": 39274,
                        "nodeType": "Block",
                        "src": "6009:73:51",
                        "statements": [
                          {
                            "errorCall": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 39271,
                                "name": "BondEscalationResolutionModule_MustBeResolved",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43581,
                                "src": "6026:45:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                  "typeString": "function () pure"
                                }
                              },
                              "id": 39272,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6026:47:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 39273,
                            "nodeType": "RevertStatement",
                            "src": "6019:54:51"
                          }
                        ]
                      }
                    },
                    {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                          "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                        },
                        "id": 39280,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39276,
                            "name": "_inequalityData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39230,
                            "src": "6094:15:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                            }
                          },
                          "id": 39277,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6110:16:51",
                          "memberName": "inequalityStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43614,
                          "src": "6094:32:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                            "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "id": 39278,
                            "name": "InequalityStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43591,
                            "src": "6130:16:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                              "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                            }
                          },
                          "id": 39279,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "6147:17:51",
                          "memberName": "ForTurnToEqualize",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43589,
                          "src": "6130:34:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                            "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                          }
                        },
                        "src": "6094:70:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39285,
                      "nodeType": "IfStatement",
                      "src": "6090:152:51",
                      "trueBody": {
                        "id": 39284,
                        "nodeType": "Block",
                        "src": "6166:76:51",
                        "statements": [
                          {
                            "errorCall": {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 39281,
                                "name": "BondEscalationResolutionModule_ForTurnToEqualize",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43587,
                                "src": "6183:48:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_error_pure$__$returns$__$",
                                  "typeString": "function () pure"
                                }
                              },
                              "id": 39282,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6183:50:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 39283,
                            "nodeType": "RevertStatement",
                            "src": "6176:57:51"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "expression": {
                    "id": 39291,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "id": 39287,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39215,
                        "src": "6254:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39289,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "6266:14:51",
                      "memberName": "pledgesAgainst",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43626,
                      "src": "6254:26:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 39290,
                      "name": "_pledgeAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39210,
                      "src": "6284:13:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6254:43:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 39292,
                  "nodeType": "ExpressionStatement",
                  "src": "6254:43:51"
                },
                {
                  "expression": {
                    "id": 39300,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "baseExpression": {
                          "id": 39293,
                          "name": "pledgesAgainstDispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38886,
                          "src": "6303:21:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                          }
                        },
                        "id": 39297,
                        "indexExpression": {
                          "id": 39294,
                          "name": "_disputeId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39208,
                          "src": "6325:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6303:33:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 39298,
                      "indexExpression": {
                        "expression": {
                          "id": 39295,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "6337:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39296,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6341:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "6337:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "6303:45:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 39299,
                      "name": "_pledgeAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39210,
                      "src": "6352:13:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6303:62:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 39301,
                  "nodeType": "ExpressionStatement",
                  "src": "6303:62:51"
                },
                {
                  "assignments": [
                    39303
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39303,
                      "mutability": "mutable",
                      "name": "_updatedTotalVotes",
                      "nameLocation": "6380:18:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39446,
                      "src": "6372:26:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39302,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6372:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39309,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39308,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39304,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39215,
                        "src": "6401:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39305,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6413:10:51",
                      "memberName": "pledgesFor",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43624,
                      "src": "6401:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "expression": {
                        "id": 39306,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39215,
                        "src": "6426:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39307,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6438:14:51",
                      "memberName": "pledgesAgainst",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43626,
                      "src": "6426:26:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6401:51:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6372:80:51"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 39315,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "6512:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39316,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6516:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "6512:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 39317,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39206,
                        "src": "6542:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39318,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39208,
                        "src": "6572:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 39319,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39237,
                          "src": "6598:7:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                          }
                        },
                        "id": 39320,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6606:9:51",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43602,
                        "src": "6598:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "id": 39321,
                        "name": "_pledgeAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39210,
                        "src": "6632:13:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 39310,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39237,
                          "src": "6459:7:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                          }
                        },
                        "id": 39313,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6467:19:51",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43599,
                        "src": "6459:27:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                          "typeString": "contract IBondEscalationAccounting"
                        }
                      },
                      "id": 39314,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6487:6:51",
                      "memberName": "pledge",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42743,
                      "src": "6459:34:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 39322,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "6502:8:51",
                      "6530:10:51",
                      "6560:10:51",
                      "6590:6:51",
                      "6623:7:51"
                    ],
                    "names": [
                      "_pledger",
                      "_requestId",
                      "_disputeId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "6459:193:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39323,
                  "nodeType": "ExpressionStatement",
                  "src": "6459:193:51"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 39325,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "6685:3:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 39326,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "6689:6:51",
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "6685:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 39327,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39206,
                        "src": "6697:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39328,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39208,
                        "src": "6709:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39329,
                        "name": "_pledgeAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39210,
                        "src": "6721:13:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 39324,
                      "name": "PledgedAgainstDispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 43521,
                      "src": "6663:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,bytes32,uint256)"
                      }
                    },
                    "id": 39330,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6663:72:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39331,
                  "nodeType": "EmitStatement",
                  "src": "6658:77:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39335,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 39332,
                      "name": "_updatedTotalVotes",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39303,
                      "src": "6746:18:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">=",
                    "rightExpression": {
                      "expression": {
                        "id": 39333,
                        "name": "_params",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39237,
                        "src": "6768:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                        }
                      },
                      "id": 39334,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "6776:15:51",
                      "memberName": "pledgeThreshold",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43606,
                      "src": "6768:23:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6746:45:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39445,
                  "nodeType": "IfStatement",
                  "src": "6742:1284:51",
                  "trueBody": {
                    "id": 39444,
                    "nodeType": "Block",
                    "src": "6793:1233:51",
                    "statements": [
                      {
                        "assignments": [
                          39337
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39337,
                            "mutability": "mutable",
                            "name": "_updatedAgainstVotes",
                            "nameLocation": "6809:20:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "6801:28:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39336,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6801:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39340,
                        "initialValue": {
                          "expression": {
                            "id": 39338,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39215,
                            "src": "6832:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39339,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6844:14:51",
                          "memberName": "pledgesAgainst",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43626,
                          "src": "6832:26:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6801:57:51"
                      },
                      {
                        "assignments": [
                          39342
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39342,
                            "mutability": "mutable",
                            "name": "_forVotes",
                            "nameLocation": "6874:9:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "6866:17:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39341,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6866:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39345,
                        "initialValue": {
                          "expression": {
                            "id": 39343,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39215,
                            "src": "6886:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39344,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6898:10:51",
                          "memberName": "pledgesFor",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43624,
                          "src": "6886:22:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6866:42:51"
                      },
                      {
                        "assignments": [
                          39347
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39347,
                            "mutability": "mutable",
                            "name": "_forVotesPercentage",
                            "nameLocation": "6925:19:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "6917:27:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39346,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6917:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39354,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 39350,
                              "name": "_forVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39342,
                              "src": "6976:9:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39351,
                              "name": "BASE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 38860,
                              "src": "6987:4:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39352,
                              "name": "_updatedTotalVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39303,
                              "src": "6993:18:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 39348,
                              "name": "FixedPointMathLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 34903,
                              "src": "6947:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                "typeString": "type(library FixedPointMathLib)"
                              }
                            },
                            "id": 39349,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6965:10:51",
                            "memberName": "mulDivDown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 34834,
                            "src": "6947:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 39353,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6947:65:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6917:95:51"
                      },
                      {
                        "assignments": [
                          39356
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39356,
                            "mutability": "mutable",
                            "name": "_newAgainstVotesPercentage",
                            "nameLocation": "7028:26:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "7020:34:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 39355,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "7020:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39363,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 39359,
                              "name": "_updatedAgainstVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39337,
                              "src": "7086:20:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39360,
                              "name": "BASE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 38860,
                              "src": "7108:4:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "id": 39361,
                              "name": "_updatedTotalVotes",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39303,
                              "src": "7114:18:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 39357,
                              "name": "FixedPointMathLib",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 34903,
                              "src": "7057:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                "typeString": "type(library FixedPointMathLib)"
                              }
                            },
                            "id": 39358,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "7075:10:51",
                            "memberName": "mulDivDown",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 34834,
                            "src": "7057:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                              "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 39362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7057:76:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7020:113:51"
                      },
                      {
                        "assignments": [
                          39365
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39365,
                            "mutability": "mutable",
                            "name": "_forPercentageDifference",
                            "nameLocation": "7148:24:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "7141:31:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39364,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "7141:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39375,
                        "initialValue": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 39368,
                                "name": "_forVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39347,
                                "src": "7182:19:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39367,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7175:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39366,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "7175:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39369,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7175:27:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "arguments": [
                              {
                                "id": 39372,
                                "name": "_newAgainstVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39356,
                                "src": "7212:26:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39371,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7205:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39370,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "7205:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39373,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7205:34:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "7175:64:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7141:98:51"
                      },
                      {
                        "assignments": [
                          39377
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39377,
                            "mutability": "mutable",
                            "name": "_againstPercentageDifference",
                            "nameLocation": "7254:28:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "7247:35:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39376,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "7247:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39387,
                        "initialValue": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39386,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "arguments": [
                              {
                                "id": 39380,
                                "name": "_newAgainstVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39356,
                                "src": "7292:26:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39379,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7285:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39378,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "7285:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7285:34:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "arguments": [
                              {
                                "id": 39384,
                                "name": "_forVotesPercentage",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39347,
                                "src": "7329:19:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39383,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "7322:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_int256_$",
                                "typeString": "type(int256)"
                              },
                              "typeName": {
                                "id": 39382,
                                "name": "int256",
                                "nodeType": "ElementaryTypeName",
                                "src": "7322:6:51",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 39385,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "7322:27:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "7285:64:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7247:102:51"
                      },
                      {
                        "assignments": [
                          39389
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 39389,
                            "mutability": "mutable",
                            "name": "_scaledPercentageDiffAsInt",
                            "nameLocation": "7365:26:51",
                            "nodeType": "VariableDeclaration",
                            "scope": 39444,
                            "src": "7358:33:51",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            "typeName": {
                              "id": 39388,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "7358:6:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 39399,
                        "initialValue": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 39397,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 39395,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 39392,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 39237,
                                    "src": "7401:7:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 39393,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "7409:14:51",
                                  "memberName": "percentageDiff",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43604,
                                  "src": "7401:22:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "id": 39394,
                                  "name": "BASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38860,
                                  "src": "7426:4:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "7401:29:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "/",
                              "rightExpression": {
                                "hexValue": "313030",
                                "id": 39396,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "7433:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_100_by_1",
                                  "typeString": "int_const 100"
                                },
                                "value": "100"
                              },
                              "src": "7401:35:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 39391,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7394:6:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_int256_$",
                              "typeString": "type(int256)"
                            },
                            "typeName": {
                              "id": 39390,
                              "name": "int256",
                              "nodeType": "ElementaryTypeName",
                              "src": "7394:6:51",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 39398,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7394:43:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7358:79:51"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39402,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 39400,
                            "name": "_forPercentageDifference",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39365,
                            "src": "7450:24:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "id": 39401,
                            "name": "_scaledPercentageDiffAsInt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39389,
                            "src": "7478:26:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "7450:54:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 39404,
                        "nodeType": "IfStatement",
                        "src": "7446:67:51",
                        "trueBody": {
                          "functionReturnParameters": 39212,
                          "id": 39403,
                          "nodeType": "Return",
                          "src": "7506:7:51"
                        }
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 39407,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 39405,
                            "name": "_againstPercentageDifference",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39377,
                            "src": "7525:28:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">=",
                          "rightExpression": {
                            "id": 39406,
                            "name": "_scaledPercentageDiffAsInt",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39389,
                            "src": "7557:26:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "7525:58:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "commonType": {
                              "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                              "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                            },
                            "id": 39427,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "id": 39423,
                                "name": "_inequalityData",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39230,
                                "src": "7731:15:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                }
                              },
                              "id": 39424,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "7747:16:51",
                              "memberName": "inequalityStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43614,
                              "src": "7731:32:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "==",
                            "rightExpression": {
                              "expression": {
                                "id": 39425,
                                "name": "InequalityStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43591,
                                "src": "7767:16:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                  "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                }
                              },
                              "id": 39426,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "7784:21:51",
                              "memberName": "AgainstTurnToEqualize",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43590,
                              "src": "7767:38:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                              }
                            },
                            "src": "7731:74:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "id": 39442,
                          "nodeType": "IfStatement",
                          "src": "7727:293:51",
                          "trueBody": {
                            "id": 39441,
                            "nodeType": "Block",
                            "src": "7807:213:51",
                            "statements": [
                              {
                                "expression": {
                                  "id": 39433,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "expression": {
                                      "id": 39428,
                                      "name": "_inequalityData",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 39230,
                                      "src": "7916:15:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                        "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                      }
                                    },
                                    "id": 39430,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": true,
                                    "memberLocation": "7932:16:51",
                                    "memberName": "inequalityStatus",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43614,
                                    "src": "7916:32:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                      "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "expression": {
                                      "id": 39431,
                                      "name": "InequalityStatus",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 43591,
                                      "src": "7951:16:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                        "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                      }
                                    },
                                    "id": 39432,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "memberLocation": "7968:9:51",
                                    "memberName": "Equalized",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43588,
                                    "src": "7951:26:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                      "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                    }
                                  },
                                  "src": "7916:61:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "id": 39434,
                                "nodeType": "ExpressionStatement",
                                "src": "7916:61:51"
                              },
                              {
                                "expression": {
                                  "id": 39439,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftHandSide": {
                                    "expression": {
                                      "id": 39435,
                                      "name": "_inequalityData",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 39230,
                                      "src": "7987:15:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                        "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                      }
                                    },
                                    "id": 39437,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": true,
                                    "memberLocation": "8003:4:51",
                                    "memberName": "time",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 43616,
                                    "src": "7987:20:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "Assignment",
                                  "operator": "=",
                                  "rightHandSide": {
                                    "hexValue": "30",
                                    "id": 39438,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "8010:1:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  "src": "7987:24:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 39440,
                                "nodeType": "ExpressionStatement",
                                "src": "7987:24:51"
                              }
                            ]
                          }
                        },
                        "id": 39443,
                        "nodeType": "IfStatement",
                        "src": "7521:499:51",
                        "trueBody": {
                          "id": 39422,
                          "nodeType": "Block",
                          "src": "7585:136:51",
                          "statements": [
                            {
                              "expression": {
                                "id": 39413,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 39408,
                                    "name": "_inequalityData",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 39230,
                                    "src": "7595:15:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                    }
                                  },
                                  "id": 39410,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "7611:16:51",
                                  "memberName": "inequalityStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43614,
                                  "src": "7595:32:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "expression": {
                                    "id": 39411,
                                    "name": "InequalityStatus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 43591,
                                    "src": "7630:16:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_enum$_InequalityStatus_$43591_$",
                                      "typeString": "type(enum IBondEscalationResolutionModule.InequalityStatus)"
                                    }
                                  },
                                  "id": 39412,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "7647:17:51",
                                  "memberName": "ForTurnToEqualize",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43589,
                                  "src": "7630:34:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                    "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                  }
                                },
                                "src": "7595:69:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_InequalityStatus_$43591",
                                  "typeString": "enum IBondEscalationResolutionModule.InequalityStatus"
                                }
                              },
                              "id": 39414,
                              "nodeType": "ExpressionStatement",
                              "src": "7595:69:51"
                            },
                            {
                              "expression": {
                                "id": 39420,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 39415,
                                    "name": "_inequalityData",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 39230,
                                    "src": "7674:15:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                                    }
                                  },
                                  "id": 39417,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "7690:4:51",
                                  "memberName": "time",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43616,
                                  "src": "7674:20:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "expression": {
                                    "id": 39418,
                                    "name": "block",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": -4,
                                    "src": "7697:5:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_block",
                                      "typeString": "block"
                                    }
                                  },
                                  "id": 39419,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "7703:9:51",
                                  "memberName": "timestamp",
                                  "nodeType": "MemberAccess",
                                  "src": "7697:15:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "7674:38:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 39421,
                              "nodeType": "ExpressionStatement",
                              "src": "7674:38:51"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "baseFunctions": [
              43708
            ],
            "documentation": {
              "id": 39204,
              "nodeType": "StructuredDocumentation",
              "src": "5193:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "325fff12",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "pledgeAgainstDispute",
            "nameLocation": "5252:20:51",
            "parameters": {
              "id": 39211,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 39206,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "5281:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39447,
                  "src": "5273:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 39205,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5273:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 39208,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "5301:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39447,
                  "src": "5293:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 39207,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5293:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 39210,
                  "mutability": "mutable",
                  "name": "_pledgeAmount",
                  "nameLocation": "5321:13:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39447,
                  "src": "5313:21:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 39209,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5313:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5272:63:51"
            },
            "returnParameters": {
              "id": 39212,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5345:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 39626,
            "nodeType": "FunctionDefinition",
            "src": "8070:1830:51",
            "nodes": [],
            "body": {
              "id": 39625,
              "nodeType": "Block",
              "src": "8134:1766:51",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    39457
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39457,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "8159:11:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8140:30:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation"
                      },
                      "typeName": {
                        "id": 39456,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39455,
                          "name": "Escalation",
                          "nameLocations": [
                            "8140:10:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43627,
                          "src": "8140:10:51"
                        },
                        "referencedDeclaration": 43627,
                        "src": "8140:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39461,
                  "initialValue": {
                    "baseExpression": {
                      "id": 39458,
                      "name": "escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38866,
                      "src": "8173:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation storage ref)"
                      }
                    },
                    "id": 39460,
                    "indexExpression": {
                      "id": 39459,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39450,
                      "src": "8185:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "8173:23:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escalation_$43627_storage",
                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8140:56:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Resolution_$43596",
                      "typeString": "enum IBondEscalationResolutionModule.Resolution"
                    },
                    "id": 39466,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39462,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39457,
                        "src": "8207:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39463,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8219:10:51",
                      "memberName": "resolution",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43620,
                      "src": "8207:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "expression": {
                        "id": 39464,
                        "name": "Resolution",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43596,
                        "src": "8233:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                          "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                        }
                      },
                      "id": 39465,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "8244:10:51",
                      "memberName": "Unresolved",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43592,
                      "src": "8233:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "src": "8207:47:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39470,
                  "nodeType": "IfStatement",
                  "src": "8203:108:51",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 39467,
                        "name": "BondEscalationResolutionModule_AlreadyResolved",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43566,
                        "src": "8263:46:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 39468,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8263:48:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 39469,
                    "nodeType": "RevertStatement",
                    "src": "8256:55:51"
                  }
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint128",
                      "typeString": "uint128"
                    },
                    "id": 39474,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39471,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39457,
                        "src": "8321:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39472,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8333:9:51",
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43622,
                      "src": "8321:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 39473,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8346:1:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8321:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39478,
                  "nodeType": "IfStatement",
                  "src": "8317:84:51",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 39475,
                        "name": "BondEscalationResolutionModule_NotEscalated",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43572,
                        "src": "8356:43:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 39476,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8356:45:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 39477,
                    "nodeType": "RevertStatement",
                    "src": "8349:52:51"
                  }
                },
                {
                  "assignments": [
                    39480
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39480,
                      "mutability": "mutable",
                      "name": "_requestId",
                      "nameLocation": "8416:10:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8408:18:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 39479,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "8408:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39486,
                  "initialValue": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 39483,
                          "name": "_disputeId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39450,
                          "src": "8447:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "expression": {
                          "id": 39481,
                          "name": "ORACLE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 10,
                          "src": "8429:6:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_IOracle_$2282",
                            "typeString": "contract IOracle"
                          }
                        },
                        "id": 39482,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8436:10:51",
                        "memberName": "getDispute",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2162,
                        "src": "8429:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                          "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                        }
                      },
                      "id": 39484,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "8429:29:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 39485,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "8459:9:51",
                    "memberName": "requestId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2041,
                    "src": "8429:39:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8408:60:51"
                },
                {
                  "assignments": [
                    39489
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39489,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "8500:7:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8475:32:51",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 39488,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39487,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "8475:17:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43611,
                          "src": "8475:17:51"
                        },
                        "referencedDeclaration": 43611,
                        "src": "8475:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39493,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 39491,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39480,
                        "src": "8528:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 39490,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38926,
                      "src": "8510:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43611_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationResolutionModule.RequestParameters memory)"
                      }
                    },
                    "id": 39492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8510:29:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8475:64:51"
                },
                {
                  "assignments": [
                    39496
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39496,
                      "mutability": "mutable",
                      "name": "_inequalityData",
                      "nameLocation": "8569:15:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8546:38:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                      },
                      "typeName": {
                        "id": 39495,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39494,
                          "name": "InequalityData",
                          "nameLocations": [
                            "8546:14:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43617,
                          "src": "8546:14:51"
                        },
                        "referencedDeclaration": 43617,
                        "src": "8546:14:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.InequalityData"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39500,
                  "initialValue": {
                    "baseExpression": {
                      "id": 39497,
                      "name": "inequalityData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38872,
                      "src": "8587:14:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_InequalityData_$43617_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.InequalityData storage ref)"
                      }
                    },
                    "id": 39499,
                    "indexExpression": {
                      "id": 39498,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39450,
                      "src": "8602:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "8587:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_InequalityData_$43617_storage",
                      "typeString": "struct IBondEscalationResolutionModule.InequalityData storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8546:67:51"
                },
                {
                  "assignments": [
                    39502
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39502,
                      "mutability": "mutable",
                      "name": "_inequalityTimerDeadline",
                      "nameLocation": "8628:24:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8620:32:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39501,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8620:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39508,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39507,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39503,
                        "name": "_inequalityData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39496,
                        "src": "8655:15:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_InequalityData_$43617_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.InequalityData storage pointer"
                        }
                      },
                      "id": 39504,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8671:4:51",
                      "memberName": "time",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43616,
                      "src": "8655:20:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "expression": {
                        "id": 39505,
                        "name": "_params",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39489,
                        "src": "8678:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                        }
                      },
                      "id": 39506,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8686:21:51",
                      "memberName": "timeToBreakInequality",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43610,
                      "src": "8678:29:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8655:52:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8620:87:51"
                },
                {
                  "assignments": [
                    39510
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39510,
                      "mutability": "mutable",
                      "name": "_pledgingDeadline",
                      "nameLocation": "8722:17:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "8714:25:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39509,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "8714:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39516,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39515,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39511,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39457,
                        "src": "8742:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39512,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8754:9:51",
                      "memberName": "startTime",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43622,
                      "src": "8742:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint128",
                        "typeString": "uint128"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "expression": {
                        "id": 39513,
                        "name": "_params",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39489,
                        "src": "8766:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                        }
                      },
                      "id": 39514,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8774:17:51",
                      "memberName": "timeUntilDeadline",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43608,
                      "src": "8766:25:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8742:49:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8714:77:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 39525,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 39520,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 39517,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "8885:5:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 39518,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8891:9:51",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "src": "8885:15:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "id": 39519,
                        "name": "_pledgingDeadline",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39510,
                        "src": "8903:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "8885:35:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 39524,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 39521,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -4,
                          "src": "8924:5:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 39522,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "8930:9:51",
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "src": "8924:15:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "id": 39523,
                        "name": "_inequalityTimerDeadline",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39502,
                        "src": "8942:24:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "8924:42:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "8885:81:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39530,
                  "nodeType": "IfStatement",
                  "src": "8881:162:51",
                  "trueBody": {
                    "id": 39529,
                    "nodeType": "Block",
                    "src": "8968:75:51",
                    "statements": [
                      {
                        "errorCall": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 39526,
                            "name": "BondEscalationResolutionModule_PledgingPhaseNotOver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43578,
                            "src": "8983:51:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_error_pure$__$returns$__$",
                              "typeString": "function () pure"
                            }
                          },
                          "id": 39527,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8983:53:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 39528,
                        "nodeType": "RevertStatement",
                        "src": "8976:60:51"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    39532
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39532,
                      "mutability": "mutable",
                      "name": "_pledgesFor",
                      "nameLocation": "9057:11:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "9049:19:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39531,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9049:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39535,
                  "initialValue": {
                    "expression": {
                      "id": 39533,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39457,
                      "src": "9071:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                      }
                    },
                    "id": 39534,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "9083:10:51",
                    "memberName": "pledgesFor",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 43624,
                    "src": "9071:22:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9049:44:51"
                },
                {
                  "assignments": [
                    39537
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39537,
                      "mutability": "mutable",
                      "name": "_pledgesAgainst",
                      "nameLocation": "9107:15:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "9099:23:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39536,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9099:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39540,
                  "initialValue": {
                    "expression": {
                      "id": 39538,
                      "name": "_escalation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39457,
                      "src": "9125:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                      }
                    },
                    "id": 39539,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "9137:14:51",
                    "memberName": "pledgesAgainst",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 43626,
                    "src": "9125:26:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9099:52:51"
                },
                {
                  "assignments": [
                    39542
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39542,
                      "mutability": "mutable",
                      "name": "_totalPledges",
                      "nameLocation": "9165:13:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "9157:21:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39541,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "9157:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39546,
                  "initialValue": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 39545,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 39543,
                      "name": "_pledgesFor",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39532,
                      "src": "9181:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "id": 39544,
                      "name": "_pledgesAgainst",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39537,
                      "src": "9195:15:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9181:29:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9157:53:51"
                },
                {
                  "assignments": [
                    39551
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39551,
                      "mutability": "mutable",
                      "name": "_disputeStatus",
                      "nameLocation": "9239:14:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39625,
                      "src": "9217:36:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      },
                      "typeName": {
                        "id": 39550,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39549,
                          "name": "IOracle.DisputeStatus",
                          "nameLocations": [
                            "9217:7:51",
                            "9225:13:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2052,
                          "src": "9217:21:51"
                        },
                        "referencedDeclaration": 2052,
                        "src": "9217:21:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39552,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "9217:36:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 39560,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 39556,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 39553,
                        "name": "_totalPledges",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39542,
                        "src": "9264:13:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<",
                      "rightExpression": {
                        "expression": {
                          "id": 39554,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39489,
                          "src": "9280:7:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                          }
                        },
                        "id": 39555,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "9288:15:51",
                        "memberName": "pledgeThreshold",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43606,
                        "src": "9280:23:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "9264:39:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 39559,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 39557,
                        "name": "_pledgesFor",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39532,
                        "src": "9307:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "id": 39558,
                        "name": "_pledgesAgainst",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39537,
                        "src": "9322:15:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "9307:30:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "9264:73:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 39577,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 39575,
                        "name": "_pledgesFor",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39532,
                        "src": "9471:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "id": 39576,
                        "name": "_pledgesAgainst",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39537,
                        "src": "9485:15:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "9471:29:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 39594,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 39592,
                          "name": "_pledgesAgainst",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39537,
                          "src": "9624:15:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "id": 39593,
                          "name": "_pledgesFor",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39532,
                          "src": "9642:11:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "9624:29:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39609,
                      "nodeType": "IfStatement",
                      "src": "9620:149:51",
                      "trueBody": {
                        "id": 39608,
                        "nodeType": "Block",
                        "src": "9655:114:51",
                        "statements": [
                          {
                            "expression": {
                              "id": 39600,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "expression": {
                                  "id": 39595,
                                  "name": "_escalation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39457,
                                  "src": "9663:11:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                  }
                                },
                                "id": 39597,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": true,
                                "memberLocation": "9675:10:51",
                                "memberName": "resolution",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43620,
                                "src": "9663:22:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_Resolution_$43596",
                                  "typeString": "enum IBondEscalationResolutionModule.Resolution"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "expression": {
                                  "id": 39598,
                                  "name": "Resolution",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 43596,
                                  "src": "9688:10:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                                    "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                                  }
                                },
                                "id": 39599,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "9699:12:51",
                                "memberName": "DisputerLost",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43594,
                                "src": "9688:23:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_Resolution_$43596",
                                  "typeString": "enum IBondEscalationResolutionModule.Resolution"
                                }
                              },
                              "src": "9663:48:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Resolution_$43596",
                                "typeString": "enum IBondEscalationResolutionModule.Resolution"
                              }
                            },
                            "id": 39601,
                            "nodeType": "ExpressionStatement",
                            "src": "9663:48:51"
                          },
                          {
                            "expression": {
                              "id": 39606,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftHandSide": {
                                "id": 39602,
                                "name": "_disputeStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39551,
                                "src": "9719:14:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                                  "typeString": "enum IOracle.DisputeStatus"
                                }
                              },
                              "nodeType": "Assignment",
                              "operator": "=",
                              "rightHandSide": {
                                "expression": {
                                  "expression": {
                                    "id": 39603,
                                    "name": "IOracle",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 2282,
                                    "src": "9736:7:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                      "typeString": "type(contract IOracle)"
                                    }
                                  },
                                  "id": 39604,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9744:13:51",
                                  "memberName": "DisputeStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 2052,
                                  "src": "9736:21:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                                    "typeString": "type(enum IOracle.DisputeStatus)"
                                  }
                                },
                                "id": 39605,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "9758:4:51",
                                "memberName": "Lost",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2050,
                                "src": "9736:26:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                                  "typeString": "enum IOracle.DisputeStatus"
                                }
                              },
                              "src": "9719:43:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                                "typeString": "enum IOracle.DisputeStatus"
                              }
                            },
                            "id": 39607,
                            "nodeType": "ExpressionStatement",
                            "src": "9719:43:51"
                          }
                        ]
                      }
                    },
                    "id": 39610,
                    "nodeType": "IfStatement",
                    "src": "9467:302:51",
                    "trueBody": {
                      "id": 39591,
                      "nodeType": "Block",
                      "src": "9502:112:51",
                      "statements": [
                        {
                          "expression": {
                            "id": 39583,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 39578,
                                "name": "_escalation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39457,
                                "src": "9510:11:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                }
                              },
                              "id": 39580,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "9522:10:51",
                              "memberName": "resolution",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43620,
                              "src": "9510:22:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Resolution_$43596",
                                "typeString": "enum IBondEscalationResolutionModule.Resolution"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "expression": {
                                "id": 39581,
                                "name": "Resolution",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 43596,
                                "src": "9535:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                                  "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                                }
                              },
                              "id": 39582,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "9546:11:51",
                              "memberName": "DisputerWon",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43593,
                              "src": "9535:22:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_Resolution_$43596",
                                "typeString": "enum IBondEscalationResolutionModule.Resolution"
                              }
                            },
                            "src": "9510:47:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Resolution_$43596",
                              "typeString": "enum IBondEscalationResolutionModule.Resolution"
                            }
                          },
                          "id": 39584,
                          "nodeType": "ExpressionStatement",
                          "src": "9510:47:51"
                        },
                        {
                          "expression": {
                            "id": 39589,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 39585,
                              "name": "_disputeStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39551,
                              "src": "9565:14:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                                "typeString": "enum IOracle.DisputeStatus"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "expression": {
                                "expression": {
                                  "id": 39586,
                                  "name": "IOracle",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2282,
                                  "src": "9582:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                    "typeString": "type(contract IOracle)"
                                  }
                                },
                                "id": 39587,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "9590:13:51",
                                "memberName": "DisputeStatus",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2052,
                                "src": "9582:21:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                                  "typeString": "type(enum IOracle.DisputeStatus)"
                                }
                              },
                              "id": 39588,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "9604:3:51",
                              "memberName": "Won",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2049,
                              "src": "9582:25:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                                "typeString": "enum IOracle.DisputeStatus"
                              }
                            },
                            "src": "9565:42:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                              "typeString": "enum IOracle.DisputeStatus"
                            }
                          },
                          "id": 39590,
                          "nodeType": "ExpressionStatement",
                          "src": "9565:42:51"
                        }
                      ]
                    }
                  },
                  "id": 39611,
                  "nodeType": "IfStatement",
                  "src": "9260:509:51",
                  "trueBody": {
                    "id": 39574,
                    "nodeType": "Block",
                    "src": "9339:122:51",
                    "statements": [
                      {
                        "expression": {
                          "id": 39566,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 39561,
                              "name": "_escalation",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39457,
                              "src": "9347:11:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                              }
                            },
                            "id": 39563,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "9359:10:51",
                            "memberName": "resolution",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43620,
                            "src": "9347:22:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Resolution_$43596",
                              "typeString": "enum IBondEscalationResolutionModule.Resolution"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "id": 39564,
                              "name": "Resolution",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 43596,
                              "src": "9372:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                                "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                              }
                            },
                            "id": 39565,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "9383:12:51",
                            "memberName": "NoResolution",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 43595,
                            "src": "9372:23:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_Resolution_$43596",
                              "typeString": "enum IBondEscalationResolutionModule.Resolution"
                            }
                          },
                          "src": "9347:48:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Resolution_$43596",
                            "typeString": "enum IBondEscalationResolutionModule.Resolution"
                          }
                        },
                        "id": 39567,
                        "nodeType": "ExpressionStatement",
                        "src": "9347:48:51"
                      },
                      {
                        "expression": {
                          "id": 39572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 39568,
                            "name": "_disputeStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39551,
                            "src": "9403:14:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                              "typeString": "enum IOracle.DisputeStatus"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "expression": {
                                "id": 39569,
                                "name": "IOracle",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2282,
                                "src": "9420:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                  "typeString": "type(contract IOracle)"
                                }
                              },
                              "id": 39570,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9428:13:51",
                              "memberName": "DisputeStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2052,
                              "src": "9420:21:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                                "typeString": "type(enum IOracle.DisputeStatus)"
                              }
                            },
                            "id": 39571,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "9442:12:51",
                            "memberName": "NoResolution",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2051,
                            "src": "9420:34:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                              "typeString": "enum IOracle.DisputeStatus"
                            }
                          },
                          "src": "9403:51:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          }
                        },
                        "id": 39573,
                        "nodeType": "ExpressionStatement",
                        "src": "9403:51:51"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 39615,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39450,
                        "src": "9802:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39616,
                        "name": "_disputeStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39551,
                        "src": "9814:14:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "expression": {
                        "id": 39612,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "9775:6:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 39614,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "9782:19:51",
                      "memberName": "updateDisputeStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2221,
                      "src": "9775:26:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,enum IOracle.DisputeStatus) external"
                      }
                    },
                    "id": 39617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9775:54:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39618,
                  "nodeType": "ExpressionStatement",
                  "src": "9775:54:51"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 39620,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39480,
                        "src": "9856:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39621,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39450,
                        "src": "9868:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 39622,
                        "name": "_disputeStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39551,
                        "src": "9880:14:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "id": 39619,
                      "name": "DisputeResolved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2379,
                      "src": "9840:15:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,bytes32,enum IOracle.DisputeStatus)"
                      }
                    },
                    "id": 39623,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9840:55:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 39624,
                  "nodeType": "EmitStatement",
                  "src": "9835:60:51"
                }
              ]
            },
            "baseFunctions": [
              2398
            ],
            "documentation": {
              "id": 39448,
              "nodeType": "StructuredDocumentation",
              "src": "8034:33:51",
              "text": "@inheritdoc IResolutionModule"
            },
            "functionSelector": "c8218e3e",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 39453,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 39452,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "8123:10:51"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "8123:10:51"
                },
                "nodeType": "ModifierInvocation",
                "src": "8123:10:51"
              }
            ],
            "name": "resolveDispute",
            "nameLocation": "8079:14:51",
            "parameters": {
              "id": 39451,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 39450,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "8102:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39626,
                  "src": "8094:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 39449,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "8094:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "8093:20:51"
            },
            "returnParameters": {
              "id": 39454,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8134:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 39921,
            "nodeType": "FunctionDefinition",
            "src": "9954:3735:51",
            "nodes": [],
            "body": {
              "id": 39920,
              "nodeType": "Block",
              "src": "10024:3665:51",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    39636
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39636,
                      "mutability": "mutable",
                      "name": "_escalation",
                      "nameLocation": "10049:11:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10030:30:51",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.Escalation"
                      },
                      "typeName": {
                        "id": 39635,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39634,
                          "name": "Escalation",
                          "nameLocations": [
                            "10030:10:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43627,
                          "src": "10030:10:51"
                        },
                        "referencedDeclaration": 43627,
                        "src": "10030:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39640,
                  "initialValue": {
                    "baseExpression": {
                      "id": 39637,
                      "name": "escalations",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38866,
                      "src": "10063:11:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Escalation_$43627_storage_$",
                        "typeString": "mapping(bytes32 => struct IBondEscalationResolutionModule.Escalation storage ref)"
                      }
                    },
                    "id": 39639,
                    "indexExpression": {
                      "id": 39638,
                      "name": "_disputeId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 39631,
                      "src": "10075:10:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10063:23:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Escalation_$43627_storage",
                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10030:56:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Resolution_$43596",
                      "typeString": "enum IBondEscalationResolutionModule.Resolution"
                    },
                    "id": 39645,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39641,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39636,
                        "src": "10097:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39642,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10109:10:51",
                      "memberName": "resolution",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43620,
                      "src": "10097:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 39643,
                        "name": "Resolution",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43596,
                        "src": "10123:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                          "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                        }
                      },
                      "id": 39644,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "10134:10:51",
                      "memberName": "Unresolved",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43592,
                      "src": "10123:21:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "src": "10097:47:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 39649,
                  "nodeType": "IfStatement",
                  "src": "10093:104:51",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 39646,
                        "name": "BondEscalationResolutionModule_NotResolved",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43569,
                        "src": "10153:42:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 39647,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "10153:44:51",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 39648,
                    "nodeType": "RevertStatement",
                    "src": "10146:51:51"
                  }
                },
                {
                  "assignments": [
                    39652
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39652,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "10229:7:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10204:32:51",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                        "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 39651,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 39650,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "10204:17:51"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43611,
                          "src": "10204:17:51"
                        },
                        "referencedDeclaration": 43611,
                        "src": "10204:17:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43611_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39656,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 39654,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39629,
                        "src": "10257:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 39653,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38926,
                      "src": "10239:17:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43611_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondEscalationResolutionModule.RequestParameters memory)"
                      }
                    },
                    "id": 39655,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10239:29:51",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                      "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10204:64:51"
                },
                {
                  "assignments": [
                    39658
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39658,
                      "mutability": "mutable",
                      "name": "_pledgerBalanceBefore",
                      "nameLocation": "10282:21:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10274:29:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39657,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10274:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39659,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10274:29:51"
                },
                {
                  "assignments": [
                    39661
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39661,
                      "mutability": "mutable",
                      "name": "_pledgerProportion",
                      "nameLocation": "10317:18:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10309:26:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39660,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10309:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39662,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10309:26:51"
                },
                {
                  "assignments": [
                    39664
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39664,
                      "mutability": "mutable",
                      "name": "_amountToRelease",
                      "nameLocation": "10349:16:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10341:24:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39663,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10341:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39665,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10341:24:51"
                },
                {
                  "assignments": [
                    39667
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 39667,
                      "mutability": "mutable",
                      "name": "_reward",
                      "nameLocation": "10379:7:51",
                      "nodeType": "VariableDeclaration",
                      "scope": 39920,
                      "src": "10371:15:51",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 39666,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "10371:7:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 39668,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10371:15:51"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_Resolution_$43596",
                      "typeString": "enum IBondEscalationResolutionModule.Resolution"
                    },
                    "id": 39673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 39669,
                        "name": "_escalation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 39636,
                        "src": "10397:11:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                          "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                        }
                      },
                      "id": 39670,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10409:10:51",
                      "memberName": "resolution",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43620,
                      "src": "10397:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "id": 39671,
                        "name": "Resolution",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43596,
                        "src": "10423:10:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                          "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                        }
                      },
                      "id": 39672,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "10434:11:51",
                      "memberName": "DisputerWon",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43593,
                      "src": "10423:22:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      }
                    },
                    "src": "10397:48:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_Resolution_$43596",
                        "typeString": "enum IBondEscalationResolutionModule.Resolution"
                      },
                      "id": 39747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 39743,
                          "name": "_escalation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 39636,
                          "src": "11322:11:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                            "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                          }
                        },
                        "id": 39744,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11334:10:51",
                        "memberName": "resolution",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43620,
                        "src": "11322:22:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_Resolution_$43596",
                          "typeString": "enum IBondEscalationResolutionModule.Resolution"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "id": 39745,
                          "name": "Resolution",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 43596,
                          "src": "11348:10:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                            "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                          }
                        },
                        "id": 39746,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "11359:12:51",
                        "memberName": "DisputerLost",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43594,
                        "src": "11348:23:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_Resolution_$43596",
                          "typeString": "enum IBondEscalationResolutionModule.Resolution"
                        }
                      },
                      "src": "11322:49:51",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_Resolution_$43596",
                          "typeString": "enum IBondEscalationResolutionModule.Resolution"
                        },
                        "id": 39821,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 39817,
                            "name": "_escalation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39636,
                            "src": "12257:11:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                              "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                            }
                          },
                          "id": 39818,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12269:10:51",
                          "memberName": "resolution",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43620,
                          "src": "12257:22:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Resolution_$43596",
                            "typeString": "enum IBondEscalationResolutionModule.Resolution"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "id": 39819,
                            "name": "Resolution",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43596,
                            "src": "12283:10:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_Resolution_$43596_$",
                              "typeString": "type(enum IBondEscalationResolutionModule.Resolution)"
                            }
                          },
                          "id": 39820,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "12294:12:51",
                          "memberName": "NoResolution",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 43595,
                          "src": "12283:23:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_Resolution_$43596",
                            "typeString": "enum IBondEscalationResolutionModule.Resolution"
                          }
                        },
                        "src": "12257:49:51",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 39917,
                      "nodeType": "IfStatement",
                      "src": "12253:1432:51",
                      "trueBody": {
                        "id": 39916,
                        "nodeType": "Block",
                        "src": "12308:1377:51",
                        "statements": [
                          {
                            "assignments": [
                              39823
                            ],
                            "declarations": [
                              {
                                "constant": false,
                                "id": 39823,
                                "mutability": "mutable",
                                "name": "_pledgerBalanceFor",
                                "nameLocation": "12324:18:51",
                                "nodeType": "VariableDeclaration",
                                "scope": 39916,
                                "src": "12316:26:51",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 39822,
                                  "name": "uint256",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "12316:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "visibility": "internal"
                              }
                            ],
                            "id": 39830,
                            "initialValue": {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 39824,
                                  "name": "pledgesForDispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38879,
                                  "src": "12345:17:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                    "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                  }
                                },
                                "id": 39826,
                                "indexExpression": {
                                  "id": 39825,
                                  "name": "_disputeId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39631,
                                  "src": "12363:10:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "12345:29:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 39829,
                              "indexExpression": {
                                "expression": {
                                  "id": 39827,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "12375:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39828,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12379:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "12375:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "12345:41:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "VariableDeclarationStatement",
                            "src": "12316:70:51"
                          },
                          {
                            "assignments": [
                              39832
                            ],
                            "declarations": [
                              {
                                "constant": false,
                                "id": 39832,
                                "mutability": "mutable",
                                "name": "_pledgerBalanceAgainst",
                                "nameLocation": "12402:22:51",
                                "nodeType": "VariableDeclaration",
                                "scope": 39916,
                                "src": "12394:30:51",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "typeName": {
                                  "id": 39831,
                                  "name": "uint256",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "12394:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "visibility": "internal"
                              }
                            ],
                            "id": 39839,
                            "initialValue": {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 39833,
                                  "name": "pledgesAgainstDispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38886,
                                  "src": "12427:21:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                    "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                  }
                                },
                                "id": 39835,
                                "indexExpression": {
                                  "id": 39834,
                                  "name": "_disputeId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39631,
                                  "src": "12449:10:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "12427:33:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 39838,
                              "indexExpression": {
                                "expression": {
                                  "id": 39836,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "12461:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39837,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12465:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "12461:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "12427:45:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "VariableDeclarationStatement",
                            "src": "12394:78:51"
                          },
                          {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 39842,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 39840,
                                "name": "_pledgerBalanceFor",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39823,
                                "src": "12485:18:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 39841,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12506:1:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "12485:22:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 39877,
                            "nodeType": "IfStatement",
                            "src": "12481:585:51",
                            "trueBody": {
                              "id": 39876,
                              "nodeType": "Block",
                              "src": "12509:557:51",
                              "statements": [
                                {
                                  "expression": {
                                    "id": 39850,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "baseExpression": {
                                        "baseExpression": {
                                          "id": 39843,
                                          "name": "pledgesForDispute",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 38879,
                                          "src": "12519:17:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                          }
                                        },
                                        "id": 39847,
                                        "indexExpression": {
                                          "id": 39844,
                                          "name": "_disputeId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39631,
                                          "src": "12537:10:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "12519:29:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                          "typeString": "mapping(address => uint256)"
                                        }
                                      },
                                      "id": 39848,
                                      "indexExpression": {
                                        "expression": {
                                          "id": 39845,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "12549:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39846,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12553:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "12549:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "nodeType": "IndexAccess",
                                      "src": "12519:41:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "-=",
                                    "rightHandSide": {
                                      "id": 39849,
                                      "name": "_pledgerBalanceFor",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 39823,
                                      "src": "12564:18:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "12519:63:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 39851,
                                  "nodeType": "ExpressionStatement",
                                  "src": "12519:63:51"
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 39857,
                                        "name": "_requestId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39629,
                                        "src": "12658:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "id": 39858,
                                        "name": "_disputeId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39631,
                                        "src": "12692:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39859,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "12724:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39860,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12728:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "12724:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39861,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "12754:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39862,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12762:9:51",
                                        "memberName": "bondToken",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43602,
                                        "src": "12754:17:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        }
                                      },
                                      {
                                        "id": 39863,
                                        "name": "_pledgerBalanceFor",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39823,
                                        "src": "12792:18:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 39852,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "12592:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39855,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12600:19:51",
                                        "memberName": "accountingExtension",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43599,
                                        "src": "12592:27:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                                          "typeString": "contract IBondEscalationAccounting"
                                        }
                                      },
                                      "id": 39856,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "12620:13:51",
                                      "memberName": "releasePledge",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 42775,
                                      "src": "12592:41:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                        "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256) external"
                                      }
                                    },
                                    "id": 39864,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [
                                      "12646:10:51",
                                      "12680:10:51",
                                      "12714:8:51",
                                      "12746:6:51",
                                      "12783:7:51"
                                    ],
                                    "names": [
                                      "_requestId",
                                      "_disputeId",
                                      "_pledger",
                                      "_token",
                                      "_amount"
                                    ],
                                    "nodeType": "FunctionCall",
                                    "src": "12592:229:51",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 39865,
                                  "nodeType": "ExpressionStatement",
                                  "src": "12592:229:51"
                                },
                                {
                                  "eventCall": {
                                    "arguments": [
                                      {
                                        "id": 39867,
                                        "name": "_requestId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39629,
                                        "src": "12886:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "id": 39868,
                                        "name": "_disputeId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39631,
                                        "src": "12920:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39869,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "12952:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39870,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12956:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "12952:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39871,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "12982:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39872,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "12990:9:51",
                                        "memberName": "bondToken",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43602,
                                        "src": "12982:17:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        }
                                      },
                                      {
                                        "id": 39873,
                                        "name": "_pledgerBalanceFor",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39823,
                                        "src": "13028:18:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 39866,
                                      "name": "PledgeClaimedNoResolution",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 43563,
                                      "src": "12836:25:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                        "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256)"
                                      }
                                    },
                                    "id": 39874,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [
                                      "12874:10:51",
                                      "12908:10:51",
                                      "12942:8:51",
                                      "12974:6:51",
                                      "13011:15:51"
                                    ],
                                    "names": [
                                      "_requestId",
                                      "_disputeId",
                                      "_pledger",
                                      "_token",
                                      "_pledgeReleased"
                                    ],
                                    "nodeType": "FunctionCall",
                                    "src": "12836:221:51",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 39875,
                                  "nodeType": "EmitStatement",
                                  "src": "12831:226:51"
                                }
                              ]
                            }
                          },
                          {
                            "condition": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 39880,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 39878,
                                "name": "_pledgerBalanceAgainst",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39832,
                                "src": "13078:22:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "hexValue": "30",
                                "id": 39879,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "13103:1:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "13078:26:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "id": 39915,
                            "nodeType": "IfStatement",
                            "src": "13074:605:51",
                            "trueBody": {
                              "id": 39914,
                              "nodeType": "Block",
                              "src": "13106:573:51",
                              "statements": [
                                {
                                  "expression": {
                                    "id": 39888,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftHandSide": {
                                      "baseExpression": {
                                        "baseExpression": {
                                          "id": 39881,
                                          "name": "pledgesAgainstDispute",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 38886,
                                          "src": "13116:21:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                            "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                          }
                                        },
                                        "id": 39885,
                                        "indexExpression": {
                                          "id": 39882,
                                          "name": "_disputeId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39631,
                                          "src": "13138:10:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "13116:33:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                          "typeString": "mapping(address => uint256)"
                                        }
                                      },
                                      "id": 39886,
                                      "indexExpression": {
                                        "expression": {
                                          "id": 39883,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "13150:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39884,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13154:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "13150:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": true,
                                      "nodeType": "IndexAccess",
                                      "src": "13116:45:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "Assignment",
                                    "operator": "-=",
                                    "rightHandSide": {
                                      "id": 39887,
                                      "name": "_pledgerBalanceAgainst",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 39832,
                                      "src": "13165:22:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "13116:71:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 39889,
                                  "nodeType": "ExpressionStatement",
                                  "src": "13116:71:51"
                                },
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 39895,
                                        "name": "_requestId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39629,
                                        "src": "13263:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "id": 39896,
                                        "name": "_disputeId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39631,
                                        "src": "13297:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39897,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "13329:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39898,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13333:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "13329:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39899,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "13359:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39900,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13367:9:51",
                                        "memberName": "bondToken",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43602,
                                        "src": "13359:17:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        }
                                      },
                                      {
                                        "id": 39901,
                                        "name": "_pledgerBalanceAgainst",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39832,
                                        "src": "13397:22:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 39890,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "13197:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39893,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13205:19:51",
                                        "memberName": "accountingExtension",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43599,
                                        "src": "13197:27:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                                          "typeString": "contract IBondEscalationAccounting"
                                        }
                                      },
                                      "id": 39894,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberLocation": "13225:13:51",
                                      "memberName": "releasePledge",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 42775,
                                      "src": "13197:41:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                        "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256) external"
                                      }
                                    },
                                    "id": 39902,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [
                                      "13251:10:51",
                                      "13285:10:51",
                                      "13319:8:51",
                                      "13351:6:51",
                                      "13388:7:51"
                                    ],
                                    "names": [
                                      "_requestId",
                                      "_disputeId",
                                      "_pledger",
                                      "_token",
                                      "_amount"
                                    ],
                                    "nodeType": "FunctionCall",
                                    "src": "13197:233:51",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 39903,
                                  "nodeType": "ExpressionStatement",
                                  "src": "13197:233:51"
                                },
                                {
                                  "eventCall": {
                                    "arguments": [
                                      {
                                        "id": 39905,
                                        "name": "_requestId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39629,
                                        "src": "13495:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "id": 39906,
                                        "name": "_disputeId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39631,
                                        "src": "13529:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39907,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": -15,
                                          "src": "13561:3:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 39908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13565:6:51",
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "src": "13561:10:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "expression": {
                                          "id": 39909,
                                          "name": "_params",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 39652,
                                          "src": "13591:7:51",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                            "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                          }
                                        },
                                        "id": 39910,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13599:9:51",
                                        "memberName": "bondToken",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 43602,
                                        "src": "13591:17:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        }
                                      },
                                      {
                                        "id": 39911,
                                        "name": "_pledgerBalanceAgainst",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 39832,
                                        "src": "13637:22:51",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_contract$_IERC20_$2822",
                                          "typeString": "contract IERC20"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      ],
                                      "id": 39904,
                                      "name": "PledgeClaimedNoResolution",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 43563,
                                      "src": "13445:25:51",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                        "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256)"
                                      }
                                    },
                                    "id": 39912,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [
                                      "13483:10:51",
                                      "13517:10:51",
                                      "13551:8:51",
                                      "13583:6:51",
                                      "13620:15:51"
                                    ],
                                    "names": [
                                      "_requestId",
                                      "_disputeId",
                                      "_pledger",
                                      "_token",
                                      "_pledgeReleased"
                                    ],
                                    "nodeType": "FunctionCall",
                                    "src": "13445:225:51",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_tuple$__$",
                                      "typeString": "tuple()"
                                    }
                                  },
                                  "id": 39913,
                                  "nodeType": "EmitStatement",
                                  "src": "13440:230:51"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    "id": 39918,
                    "nodeType": "IfStatement",
                    "src": "11318:2367:51",
                    "trueBody": {
                      "id": 39816,
                      "nodeType": "Block",
                      "src": "11373:874:51",
                      "statements": [
                        {
                          "expression": {
                            "id": 39755,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 39748,
                              "name": "_pledgerBalanceBefore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39658,
                              "src": "11381:21:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 39749,
                                  "name": "pledgesAgainstDispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38886,
                                  "src": "11405:21:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                    "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                  }
                                },
                                "id": 39751,
                                "indexExpression": {
                                  "id": 39750,
                                  "name": "_disputeId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39631,
                                  "src": "11427:10:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "11405:33:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 39754,
                              "indexExpression": {
                                "expression": {
                                  "id": 39752,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "11439:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39753,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11443:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "11439:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "11405:45:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "11381:69:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 39756,
                          "nodeType": "ExpressionStatement",
                          "src": "11381:69:51"
                        },
                        {
                          "expression": {
                            "id": 39764,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "baseExpression": {
                                "baseExpression": {
                                  "id": 39757,
                                  "name": "pledgesAgainstDispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38886,
                                  "src": "11458:21:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                    "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                  }
                                },
                                "id": 39761,
                                "indexExpression": {
                                  "id": 39758,
                                  "name": "_disputeId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39631,
                                  "src": "11480:10:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "11458:33:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 39762,
                              "indexExpression": {
                                "expression": {
                                  "id": 39759,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "11492:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39760,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11496:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "11492:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "11458:45:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "-=",
                            "rightHandSide": {
                              "id": 39763,
                              "name": "_pledgerBalanceBefore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39658,
                              "src": "11507:21:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "11458:70:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 39765,
                          "nodeType": "ExpressionStatement",
                          "src": "11458:70:51"
                        },
                        {
                          "expression": {
                            "id": 39774,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 39766,
                              "name": "_pledgerProportion",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39661,
                              "src": "11537:18:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "arguments": [
                                {
                                  "id": 39769,
                                  "name": "_pledgerBalanceBefore",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39658,
                                  "src": "11587:21:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "id": 39770,
                                  "name": "BASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38860,
                                  "src": "11610:4:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 39771,
                                    "name": "_escalation",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 39636,
                                    "src": "11616:11:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                    }
                                  },
                                  "id": 39772,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11628:14:51",
                                  "memberName": "pledgesAgainst",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43626,
                                  "src": "11616:26:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 39767,
                                  "name": "FixedPointMathLib",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 34903,
                                  "src": "11558:17:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                    "typeString": "type(library FixedPointMathLib)"
                                  }
                                },
                                "id": 39768,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11576:10:51",
                                "memberName": "mulDivDown",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 34834,
                                "src": "11558:28:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 39773,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11558:85:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "11537:106:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 39775,
                          "nodeType": "ExpressionStatement",
                          "src": "11537:106:51"
                        },
                        {
                          "expression": {
                            "id": 39784,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 39776,
                              "name": "_reward",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39667,
                              "src": "11651:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 39779,
                                    "name": "_escalation",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 39636,
                                    "src": "11690:11:51",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                      "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                    }
                                  },
                                  "id": 39780,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "11702:10:51",
                                  "memberName": "pledgesFor",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43624,
                                  "src": "11690:22:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "id": 39781,
                                  "name": "_pledgerProportion",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39661,
                                  "src": "11714:18:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "id": 39782,
                                  "name": "BASE",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 38860,
                                  "src": "11734:4:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 39777,
                                  "name": "FixedPointMathLib",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 34903,
                                  "src": "11661:17:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                    "typeString": "type(library FixedPointMathLib)"
                                  }
                                },
                                "id": 39778,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11679:10:51",
                                "memberName": "mulDivDown",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 34834,
                                "src": "11661:28:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                  "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 39783,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11661:78:51",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "11651:88:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 39785,
                          "nodeType": "ExpressionStatement",
                          "src": "11651:88:51"
                        },
                        {
                          "expression": {
                            "id": 39790,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "id": 39786,
                              "name": "_amountToRelease",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39664,
                              "src": "11747:16:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 39789,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "id": 39787,
                                "name": "_reward",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39667,
                                "src": "11766:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "+",
                              "rightExpression": {
                                "id": 39788,
                                "name": "_pledgerBalanceBefore",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39658,
                                "src": "11776:21:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "11766:31:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "11747:50:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 39791,
                          "nodeType": "ExpressionStatement",
                          "src": "11747:50:51"
                        },
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 39797,
                                "name": "_requestId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39629,
                                "src": "11869:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "id": 39798,
                                "name": "_disputeId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39631,
                                "src": "11901:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "expression": {
                                  "id": 39799,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "11931:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39800,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11935:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "11931:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "id": 39801,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39652,
                                  "src": "11959:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                  }
                                },
                                "id": 39802,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11967:9:51",
                                "memberName": "bondToken",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43602,
                                "src": "11959:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                }
                              },
                              {
                                "id": 39803,
                                "name": "_amountToRelease",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39664,
                                "src": "11995:16:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 39792,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39652,
                                  "src": "11805:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                  }
                                },
                                "id": 39795,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11813:19:51",
                                "memberName": "accountingExtension",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43599,
                                "src": "11805:27:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                                  "typeString": "contract IBondEscalationAccounting"
                                }
                              },
                              "id": 39796,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11833:13:51",
                              "memberName": "releasePledge",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42775,
                              "src": "11805:41:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256) external"
                              }
                            },
                            "id": 39804,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "11857:10:51",
                              "11889:10:51",
                              "11921:8:51",
                              "11951:6:51",
                              "11986:7:51"
                            ],
                            "names": [
                              "_requestId",
                              "_disputeId",
                              "_pledger",
                              "_token",
                              "_amount"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "11805:215:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 39805,
                          "nodeType": "ExpressionStatement",
                          "src": "11805:215:51"
                        },
                        {
                          "eventCall": {
                            "arguments": [
                              {
                                "id": 39807,
                                "name": "_requestId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39629,
                                "src": "12081:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "id": 39808,
                                "name": "_disputeId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39631,
                                "src": "12113:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "expression": {
                                  "id": 39809,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": -15,
                                  "src": "12143:3:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 39810,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12147:6:51",
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "src": "12143:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "id": 39811,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39652,
                                  "src": "12171:7:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                  }
                                },
                                "id": 39812,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "12179:9:51",
                                "memberName": "bondToken",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43602,
                                "src": "12171:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                }
                              },
                              {
                                "id": 39813,
                                "name": "_amountToRelease",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39664,
                                "src": "12215:16:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 39806,
                              "name": "PledgeClaimedDisputerLost",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 43549,
                              "src": "12033:25:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256)"
                              }
                            },
                            "id": 39814,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "12069:10:51",
                              "12101:10:51",
                              "12133:8:51",
                              "12163:6:51",
                              "12198:15:51"
                            ],
                            "names": [
                              "_requestId",
                              "_disputeId",
                              "_pledger",
                              "_token",
                              "_pledgeReleased"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "12033:207:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 39815,
                          "nodeType": "EmitStatement",
                          "src": "12028:212:51"
                        }
                      ]
                    }
                  },
                  "id": 39919,
                  "nodeType": "IfStatement",
                  "src": "10393:3292:51",
                  "trueBody": {
                    "id": 39742,
                    "nodeType": "Block",
                    "src": "10447:865:51",
                    "statements": [
                      {
                        "expression": {
                          "id": 39681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 39674,
                            "name": "_pledgerBalanceBefore",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39658,
                            "src": "10455:21:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "baseExpression": {
                              "baseExpression": {
                                "id": 39675,
                                "name": "pledgesForDispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38879,
                                "src": "10479:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                  "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                }
                              },
                              "id": 39677,
                              "indexExpression": {
                                "id": 39676,
                                "name": "_disputeId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39631,
                                "src": "10497:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "10479:29:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 39680,
                            "indexExpression": {
                              "expression": {
                                "id": 39678,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -15,
                                "src": "10509:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 39679,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10513:6:51",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "10509:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "10479:41:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10455:65:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 39682,
                        "nodeType": "ExpressionStatement",
                        "src": "10455:65:51"
                      },
                      {
                        "expression": {
                          "id": 39690,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "baseExpression": {
                                "id": 39683,
                                "name": "pledgesForDispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38879,
                                "src": "10528:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_uint256_$_$",
                                  "typeString": "mapping(bytes32 => mapping(address => uint256))"
                                }
                              },
                              "id": 39687,
                              "indexExpression": {
                                "id": 39684,
                                "name": "_disputeId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39631,
                                "src": "10546:10:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "10528:29:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                              }
                            },
                            "id": 39688,
                            "indexExpression": {
                              "expression": {
                                "id": 39685,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -15,
                                "src": "10558:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 39686,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10562:6:51",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "10558:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "10528:41:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "-=",
                          "rightHandSide": {
                            "id": 39689,
                            "name": "_pledgerBalanceBefore",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39658,
                            "src": "10573:21:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10528:66:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 39691,
                        "nodeType": "ExpressionStatement",
                        "src": "10528:66:51"
                      },
                      {
                        "expression": {
                          "id": 39700,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 39692,
                            "name": "_pledgerProportion",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39661,
                            "src": "10603:18:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 39695,
                                "name": "_pledgerBalanceBefore",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39658,
                                "src": "10653:21:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "id": 39696,
                                "name": "BASE",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38860,
                                "src": "10676:4:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "expression": {
                                  "id": 39697,
                                  "name": "_escalation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39636,
                                  "src": "10682:11:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                  }
                                },
                                "id": 39698,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10694:10:51",
                                "memberName": "pledgesFor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43624,
                                "src": "10682:22:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 39693,
                                "name": "FixedPointMathLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 34903,
                                "src": "10624:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                  "typeString": "type(library FixedPointMathLib)"
                                }
                              },
                              "id": 39694,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10642:10:51",
                              "memberName": "mulDivDown",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 34834,
                              "src": "10624:28:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 39699,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10624:81:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10603:102:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 39701,
                        "nodeType": "ExpressionStatement",
                        "src": "10603:102:51"
                      },
                      {
                        "expression": {
                          "id": 39710,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 39702,
                            "name": "_reward",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39667,
                            "src": "10713:7:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 39705,
                                  "name": "_escalation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 39636,
                                  "src": "10752:11:51",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Escalation_$43627_storage_ptr",
                                    "typeString": "struct IBondEscalationResolutionModule.Escalation storage pointer"
                                  }
                                },
                                "id": 39706,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10764:14:51",
                                "memberName": "pledgesAgainst",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43626,
                                "src": "10752:26:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "id": 39707,
                                "name": "_pledgerProportion",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39661,
                                "src": "10780:18:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "id": 39708,
                                "name": "BASE",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 38860,
                                "src": "10800:4:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "id": 39703,
                                "name": "FixedPointMathLib",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 34903,
                                "src": "10723:17:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_FixedPointMathLib_$34903_$",
                                  "typeString": "type(library FixedPointMathLib)"
                                }
                              },
                              "id": 39704,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10741:10:51",
                              "memberName": "mulDivDown",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 34834,
                              "src": "10723:28:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (uint256,uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 39709,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10723:82:51",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10713:92:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 39711,
                        "nodeType": "ExpressionStatement",
                        "src": "10713:92:51"
                      },
                      {
                        "expression": {
                          "id": 39716,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 39712,
                            "name": "_amountToRelease",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 39664,
                            "src": "10813:16:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 39715,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 39713,
                              "name": "_reward",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39667,
                              "src": "10832:7:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "id": 39714,
                              "name": "_pledgerBalanceBefore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39658,
                              "src": "10842:21:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "10832:31:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10813:50:51",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 39717,
                        "nodeType": "ExpressionStatement",
                        "src": "10813:50:51"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 39723,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39629,
                              "src": "10935:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 39724,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39631,
                              "src": "10967:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 39725,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -15,
                                "src": "10997:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 39726,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11001:6:51",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "10997:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "expression": {
                                "id": 39727,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39652,
                                "src": "11025:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                }
                              },
                              "id": 39728,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11033:9:51",
                              "memberName": "bondToken",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43602,
                              "src": "11025:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              }
                            },
                            {
                              "id": 39729,
                              "name": "_amountToRelease",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39664,
                              "src": "11061:16:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 39718,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39652,
                                "src": "10871:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                }
                              },
                              "id": 39721,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10879:19:51",
                              "memberName": "accountingExtension",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43599,
                              "src": "10871:27:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IBondEscalationAccounting_$42784",
                                "typeString": "contract IBondEscalationAccounting"
                              }
                            },
                            "id": 39722,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10899:13:51",
                            "memberName": "releasePledge",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42775,
                            "src": "10871:41:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256) external"
                            }
                          },
                          "id": 39730,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "10923:10:51",
                            "10955:10:51",
                            "10987:8:51",
                            "11017:6:51",
                            "11052:7:51"
                          ],
                          "names": [
                            "_requestId",
                            "_disputeId",
                            "_pledger",
                            "_token",
                            "_amount"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "10871:215:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 39731,
                        "nodeType": "ExpressionStatement",
                        "src": "10871:215:51"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "id": 39733,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39629,
                              "src": "11146:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "id": 39734,
                              "name": "_disputeId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39631,
                              "src": "11178:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 39735,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": -15,
                                "src": "11208:3:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 39736,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11212:6:51",
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "src": "11208:10:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "expression": {
                                "id": 39737,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 39652,
                                "src": "11236:7:51",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43611_memory_ptr",
                                  "typeString": "struct IBondEscalationResolutionModule.RequestParameters memory"
                                }
                              },
                              "id": 39738,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11244:9:51",
                              "memberName": "bondToken",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43602,
                              "src": "11236:17:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              }
                            },
                            {
                              "id": 39739,
                              "name": "_amountToRelease",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39664,
                              "src": "11280:16:51",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 39732,
                            "name": "PledgeClaimedDisputerWon",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 43535,
                            "src": "11099:24:51",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                              "typeString": "function (bytes32,bytes32,address,contract IERC20,uint256)"
                            }
                          },
                          "id": 39740,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "11134:10:51",
                            "11166:10:51",
                            "11198:8:51",
                            "11228:6:51",
                            "11263:15:51"
                          ],
                          "names": [
                            "_requestId",
                            "_disputeId",
                            "_pledger",
                            "_token",
                            "_pledgeReleased"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "11099:206:51",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 39741,
                        "nodeType": "EmitStatement",
                        "src": "11094:211:51"
                      }
                    ]
                  }
                }
              ]
            },
            "baseFunctions": [
              43716
            ],
            "documentation": {
              "id": 39627,
              "nodeType": "StructuredDocumentation",
              "src": "9904:47:51",
              "text": "@inheritdoc IBondEscalationResolutionModule"
            },
            "functionSelector": "15dff0b2",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "claimPledge",
            "nameLocation": "9963:11:51",
            "parameters": {
              "id": 39632,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 39629,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "9983:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39921,
                  "src": "9975:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 39628,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9975:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 39631,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "10003:10:51",
                  "nodeType": "VariableDeclaration",
                  "scope": 39921,
                  "src": "9995:18:51",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 39630,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9995:7:51",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "9974:40:51"
            },
            "returnParameters": {
              "id": 39633,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10024:0:51"
            },
            "scope": 39922,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 38849,
              "name": "Module",
              "nameLocations": [
                "885:6:51"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 98,
              "src": "885:6:51"
            },
            "id": 38850,
            "nodeType": "InheritanceSpecifier",
            "src": "885:6:51"
          },
          {
            "baseName": {
              "id": 38851,
              "name": "IBondEscalationResolutionModule",
              "nameLocations": [
                "893:31:51"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 43717,
              "src": "893:31:51"
            },
            "id": 38852,
            "nodeType": "InheritanceSpecifier",
            "src": "893:31:51"
          }
        ],
        "canonicalName": "BondEscalationResolutionModule",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          39922,
          43717,
          2399,
          98,
          1782
        ],
        "name": "BondEscalationResolutionModule",
        "nameLocation": "851:30:51",
        "scope": 39923,
        "usedErrors": [
          1745,
          43566,
          43569,
          43572,
          43575,
          43578,
          43581,
          43584,
          43587
        ]
      }
    ],
    "license": "MIT"
  },
  "id": 51
}