{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "log",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "log_address",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "val",
          "type": "uint256[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256[]",
          "name": "val",
          "type": "int256[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "val",
          "type": "address[]"
        }
      ],
      "name": "log_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "log_bytes",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "log_bytes32",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "name": "log_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "val",
          "type": "address"
        }
      ],
      "name": "log_named_address",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "val",
          "type": "uint256[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256[]",
          "name": "val",
          "type": "int256[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "val",
          "type": "address[]"
        }
      ],
      "name": "log_named_array",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "val",
          "type": "bytes"
        }
      ],
      "name": "log_named_bytes",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "val",
          "type": "bytes32"
        }
      ],
      "name": "log_named_bytes32",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "val",
          "type": "int256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "decimals",
          "type": "uint256"
        }
      ],
      "name": "log_named_decimal_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "val",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "decimals",
          "type": "uint256"
        }
      ],
      "name": "log_named_decimal_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "int256",
          "name": "val",
          "type": "int256"
        }
      ],
      "name": "log_named_int",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "val",
          "type": "string"
        }
      ],
      "name": "log_named_string",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "key",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "val",
          "type": "uint256"
        }
      ],
      "name": "log_named_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "log_string",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "log_uint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "logs",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "IS_TEST",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "dummyOracleDelegate",
      "outputs": [
        {
          "internalType": "contract DummyOracleDelegate",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "failed",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pepperStake",
      "outputs": [
        {
          "internalType": "contract PepperStake",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "setUp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "testOracleDelegate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60806040526007805460ff191660011790556200001b62000058565b600855604580546001600160a01b0319167389ac24e9d325e5935dd9098bddc7f9879a6b0e291790553480156200005157600080fd5b506200180c565b6000604051806102200160405280604051806060016040528060405180604001604052806005815260200164105b9d9a5b60da1b8152508152602001617a6981526020016040518060400160405280601581526020017f687474703a2f2f3132372e302e302e313a383534350000000000000000000000815250815250815260200160405180606001604052806040518060400160405280600781526020016612185c991a185d60ca1b8152508152602001617a6981526020016040518060400160405280601581526020017f687474703a2f2f3132372e302e302e313a383534350000000000000000000000815250815250815260200160405180606001604052806040518060400160405280600781526020016613585a5b9b995d60ca1b8152508152602001600181526020016040518060400160405280601f81526020017f68747470733a2f2f6170692e6d7963727970746f6170692e636f6d2f657468008152508152508152602001604051806060016040528060405180604001604052806006815260200165476f65726c6960d01b8152508152602001600581526020016040518060600160405280603c815260200162005194603c9139905281526040805160a0808201835260076060808401918252665365706f6c696160c81b60808086019190915291845262aa36a760208581019190915285518087018752601781527f68747470733a2f2f7270632e7365706f6c69612e646576000000000000000000818301528587015280870194909452845180840186526008818301908152674f7074696d69736d60c01b828501528152600a8186015285518087018752601b81527f68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f000000000081870152818701528587015284518084018652600e8183019081526d4f7074696d69736d476f65726c6960901b8285015281526101a48186015285518087018752601a81527f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f00000000000081870152818701528187015284518084018652600b8183019081526a417262697472756d4f6e6560a81b82850152815261a4b18186015285518087018752601c81527f68747470733a2f2f617262312e617262697472756d2e696f2f7270630000000081870152818701528287015284518084018652601181830190815270417262697472756d4f6e65476f65726c6960781b9382019390935291825262066eed8285015284519081018552602580825292909501949093840192909190620051d090830139905281526040805160a08082018352600c60608084019182526b417262697472756d4e6f766160a01b60808086019190915291845261a4ba60208581019190915285518087018752601c81527f68747470733a2f2f6e6f76612e617262697472756d2e696f2f72706300000000818301528587015280870194909452845180840186526007818301908152662837b63cb3b7b760c91b82850152815260898186015285518087018752601781527f68747470733a2f2f706f6c79676f6e2d7270632e636f6d00000000000000000081870152818701528587015284518084018652600d8183019081526c506f6c79676f6e4d756d62616960981b828501528152620138818186015285518087018752601e81527f68747470733a2f2f7270632d6d756d6261692e6d617469632e746f6461790000818701528187015281870152845192830185526009838201908152684176616c616e63686560b81b84840152835261a86a83850152845190810185526025808252919095019491938401926200516f90830139815250815260200160405180606001604052806040518060400160405280600d81526020016c4176616c616e63686546756a6960981b815250815260200161a86981526020016040518060600160405280602a8152602001620051f5602a9139815250815260200160405180606001604052806040518060400160405280600d81526020016c21373129b6b0b93a21b430b4b760991b8152508152602001603881526020016040518060600160405280602181526020016200521f60219139815250815260200160405180606001604052806040518060400160405280601481526020017f426e62536d617274436861696e546573746e65740000000000000000000000008152508152602001606181526020016040518060600160405280602e815260200162005141602e9139905281526040805160a081018252600b606082019081526a23b737b9b4b9a1b430b4b760a91b60808301528152606460208281019190915282518084018452601b81527f68747470733a2f2f7270632e676e6f736973636861696e2e636f6d000000000081830152928201929092529101528051805160099190829081906200074b9082620014bc565b5060208201516001820155604082015160028201906200076c9082620014bc565b5050506020820151805160038301908190620007899082620014bc565b506020820151600182015560408201516002820190620007aa9082620014bc565b5050506040820151805160068301908190620007c79082620014bc565b506020820151600182015560408201516002820190620007e89082620014bc565b5050506060820151805160098301908190620008059082620014bc565b506020820151600182015560408201516002820190620008269082620014bc565b50505060808201518051600c8301908190620008439082620014bc565b506020820151600182015560408201516002820190620008649082620014bc565b50505060a08201518051600f8301908190620008819082620014bc565b506020820151600182015560408201516002820190620008a29082620014bc565b50505060c0820151805160128301908190620008bf9082620014bc565b506020820151600182015560408201516002820190620008e09082620014bc565b50505060e0820151805160158301908190620008fd9082620014bc565b5060208201516001820155604082015160028201906200091e9082620014bc565b5050506101008201518051601883019081906200093c9082620014bc565b5060208201516001820155604082015160028201906200095d9082620014bc565b5050506101208201518051601b83019081906200097b9082620014bc565b5060208201516001820155604082015160028201906200099c9082620014bc565b5050506101408201518051601e8301908190620009ba9082620014bc565b506020820151600182015560408201516002820190620009db9082620014bc565b505050610160820151805160218301908190620009f99082620014bc565b50602082015160018201556040820151600282019062000a1a9082620014bc565b50505061018082015180516024830190819062000a389082620014bc565b50602082015160018201556040820151600282019062000a599082620014bc565b5050506101a082015180516027830190819062000a779082620014bc565b50602082015160018201556040820151600282019062000a989082620014bc565b5050506101c08201518051602a830190819062000ab69082620014bc565b50602082015160018201556040820151600282019062000ad79082620014bc565b5050506101e08201518051602d830190819062000af59082620014bc565b50602082015160018201556040820151600282019062000b169082620014bc565b50505061020082015180516030830190819062000b349082620014bc565b50602082015160018201556040820151600282019062000b559082620014bc565b50505090505060007f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663a85a84186040518163ffffffff1660e01b81526004016000604051808303816000875af115801562000bc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000beb91908101906200160c565b905060005b8151811015620012f95760008083838151811062000c125762000c1262001799565b602002602001015160006002811062000c2f5762000c2f62001799565b602002015184848151811062000c495762000c4962001799565b602002602001015160016002811062000c665762000c6662001799565b60200201519150915062000c9e8260405180604001604052806005815260200164185b9d9a5b60da1b8152506200130260201b60201c565b1562000cb957600b62000cb28282620014bc565b50620012e1565b62000cea82604051806040016040528060078152602001661a185c991a185d60ca1b8152506200130260201b60201c565b1562000cfe57600e62000cb28282620014bc565b62000d2f82604051806040016040528060078152602001661b585a5b9b995d60ca1b8152506200130260201b60201c565b1562000d4357601162000cb28282620014bc565b62000d738260405180604001604052806006815260200165676f65726c6960d01b8152506200130260201b60201c565b1562000d8757601462000cb28282620014bc565b62000db882604051806040016040528060078152602001667365706f6c696160c81b8152506200130260201b60201c565b1562000dcc57601762000cb28282620014bc565b62000dfe82604051806040016040528060088152602001676f7074696d69736d60c01b8152506200130260201b60201c565b1562000e1257601a62000cb28282620014bc565b62000e73826040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b8152506040518060400160405280600f81526020016e6f7074696d69736d2d676f65726c6960881b8152506200135f60201b60201c565b1562000e8757601d62000cb28282620014bc565b62000ee2826040518060400160405280600c81526020016b617262697472756d5f6f6e6560a01b8152506040518060400160405280600c81526020016b617262697472756d2d6f6e6560a01b8152506200135f60201b60201c565b1562000ef657602062000cb28282620014bc565b62000f73826040518060400160405280601381526020017f617262697472756d5f6f6e655f676f65726c69000000000000000000000000008152506040518060400160405280601381526020017f617262697472756d2d6f6e652d676f65726c69000000000000000000000000008152506200135f60201b60201c565b1562000f8757602362000cb28282620014bc565b62000fe4826040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b8152506040518060400160405280600d81526020016c617262697472756d2d6e6f766160981b8152506200135f60201b60201c565b1562000ff857602662000cb28282620014bc565b6200102982604051806040016040528060078152602001663837b63cb3b7b760c91b8152506200130260201b60201c565b156200103d57602962000cb28282620014bc565b6200109c826040518060400160405280600e81526020016d706f6c79676f6e5f6d756d62616960901b8152506040518060400160405280600e81526020016d706f6c79676f6e2d6d756d62616960901b8152506200135f60201b60201c565b15620010b057602c62000cb28282620014bc565b620010e382604051806040016040528060098152602001686176616c616e63686560b81b8152506200130260201b60201c565b15620010f757602f62000cb28282620014bc565b62001156826040518060400160405280600e81526020016d6176616c616e6368655f66756a6960901b8152506040518060400160405280600e81526020016d6176616c616e6368652d66756a6960901b8152506200135f60201b60201c565b156200116a57603262000cb28282620014bc565b620011cb826040518060400160405280600f81526020016e3137312fb9b6b0b93a2fb1b430b4b760891b8152506040518060400160405280600f81526020016e31373116b9b6b0b93a16b1b430b4b760891b8152506200135f60201b60201c565b15620011df57603562000cb28282620014bc565b6200125c826040518060400160405280601781526020017f626e625f736d6172745f636861696e5f746573746e65740000000000000000008152506040518060400160405280601781526020017f626e622d736d6172742d636861696e2d746573746e65740000000000000000008152506200135f60201b60201c565b156200127057603862000cb28282620014bc565b620012cb826040518060400160405280600c81526020016b33b737b9b4b9afb1b430b4b760a11b8152506040518060400160405280600c81526020016b33b737b9b4b996b1b430b4b760a11b8152506200135f60201b60201c565b15620012e157603b620012df8282620014bc565b505b50508080620012f090620017af565b91505062000bf0565b50600091505090565b600081604051602001620013179190620017d7565b6040516020818303038152906040528051906020012083604051602001620013409190620017d7565b6040516020818303038152906040528051906020012014905092915050565b600082604051602001620013749190620017d7565b60405160208183030381529060405280519060200120846040516020016200139d9190620017d7565b6040516020818303038152906040528051906020012014806200140f575081604051602001620013ce9190620017d7565b6040516020818303038152906040528051906020012084604051602001620013f79190620017d7565b60405160208183030381529060405280519060200120145b949350505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200144257607f821691505b6020821081036200146357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014b757600081815260208120601f850160051c81016020861015620014925750805b601f850160051c820191505b81811015620014b3578281556001016200149e565b5050505b505050565b81516001600160401b03811115620014d857620014d862001417565b620014f081620014e984546200142d565b8462001469565b602080601f8311600181146200152857600084156200150f5750858301515b600019600386901b1c1916600185901b178555620014b3565b600085815260208120601f198616915b82811015620015595788860151825594840194600190910190840162001538565b5085821015620015785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604080519081016001600160401b0381118282101715620015ad57620015ad62001417565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620015de57620015de62001417565b604052919050565b60005b8381101562001603578181015183820152602001620015e9565b50506000910152565b6000602082840312156200161f57600080fd5b81516001600160401b03808211156200163757600080fd5b818401915084601f8301126200164c57600080fd5b81518181111562001661576200166162001417565b6200167260208260051b01620015b3565b8082825260208201915060208360051b8601019250878311156200169557600080fd5b602085015b838110156200178d57805185811115620016b357600080fd5b8601603f81018a13620016c557600080fd5b620016cf62001588565b808b606084011115620016e157600080fd5b602083015b606084018110156200177b578051898111156200170257600080fd5b8401603f81018e136200171457600080fd5b60208101518a8111156200172c576200172c62001417565b62001741601f8201601f1916602001620015b3565b8181528f60408385010111156200175757600080fd5b6200176a826020830160408601620015e6565b8552505060209283019201620016e6565b5085525050602092830192016200169a565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201620017d057634e487b7160e01b600052601160045260246000fd5b5060010190565b6020815260008251806020840152620017f8816040850160208701620015e6565b601f01601f19169190910160400192915050565b613925806200181c6000396000f3fe60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80630a9254e4146200006f578063160c0c23146200007b57806327bd129714620000ac578063ba414fa614620000b6578063d9e3f00e14620000d1578063fa7626d414620000e5575b600080fd5b62000079620000f3565b005b6043546200008f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b62000079620003f7565b620000c0620006f0565b6040519015158152602001620000a3565b6044546200008f906001600160a01b031681565b600754620000c09060ff1681565b604051620001019062000adb565b604051809103906000f0801580156200011e573d6000803e3d6000fd5b50604480546001600160a01b0319166001600160a01b039290921691909117905560408051600180825281830190925260009160208083019080368337505060445482519293506001600160a01b03169183915060009062000184576200018462000af7565b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905066b1a2bc2ec5000081600081518110620001df57620001df62000af7565b6020908102919091018101919091526040805160006101c082018181526101e08301845282528251818152808501845282850152825181815280850184528284015260608201869052608082018590526212750060a0830152606460c083015260e08201819052610100820181905260016101208301819052610140830182905261016083018290526101808301829052835194850184528185526101a0830194909452915190929183918190620002979062000ae9565b620002a6949392919062000bd9565b604051809103906000f080158015620002c3573d6000803e3d6000fd5b50604380546001600160a01b0319166001600160a01b03928316179055604554604080516318caf8e360e31b81529190921660048201526024810191909152600b60448201526a1c185c9d1a58da5c185b9d60aa1b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200035757600080fd5b505af11580156200036c573d6000803e3d6000fd5b505060455460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d631000006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c88a5e6d9150604401600060405180830381600087803b158015620003d957600080fd5b505af1158015620003ee573d6000803e3d6000fd5b50505050505050565b604454604354604051638f57727d60e01b81526001600160a01b03928316600482018190529262000478921690638f57727d906024015b602060405180830381865afa1580156200044c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000472919062000d54565b62000827565b60435460405163e548e3e760e01b81526001600160a01b038381166004830152620004ae92169063e548e3e7906024016200042e565b60455460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200050857600080fd5b505af11580156200051d573d6000803e3d6000fd5b50505050604360009054906101000a90046001600160a01b03166001600160a01b0316633a4b66f166b1a2bc2ec500006040518263ffffffff1660e01b81526004016000604051808303818588803b1580156200057957600080fd5b505af11580156200058e573d6000803e3d6000fd5b506000935060019250620005a0915050565b604051908082528060200260200182016040528015620005ca578160200160208202803683370190505b5060455481519192506001600160a01b0316908290600090620005f157620005f162000af7565b6001600160a01b039283166020918202929092010152604354604051636e7dd15d60e11b815291169063dcfba2ba9062000632908590859060040162000d7f565b600060405180830381600087803b1580156200064d57600080fd5b505af115801562000662573d6000803e3d6000fd5b50505050620006ec604360009054906101000a90046001600160a01b03166001600160a01b0316631f7180dd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e4919062000ddd565b6001620008a2565b5050565b600754600090610100900460ff1615620007135750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620008225760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091620007a4917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162000df7565b60408051601f1981840301815290829052620007c09162000e2a565b6000604051808303816000865af19150503d8060008114620007ff576040519150601f19603f3d011682016040523d82523d6000602084013e62000804565b606091505b50915050808060200190518101906200081e919062000d54565b9150505b919050565b806200089f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200088d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16200089f620009c8565b50565b808214620006ec577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620009159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808115e1c1958dd195960b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a8183015269080808081058dd1d585b60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1620006ec5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000aca5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262000a65929160200162000df7565b60408051601f198184030181529082905262000a819162000e2a565b6000604051808303816000865af19150503d806000811462000ac0576040519150601f19603f3d011682016040523d82523d6000602084013e62000ac5565b606091505b505050505b6007805461ff001916610100179055565b6102d58062000e4983390190565b6127d2806200111e83390190565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101562000b485781516001600160a01b03168752958201959082019060010162000b21565b509495945050505050565b600081518084526020808501945080840160005b8381101562000b485781518752958201959082019060010162000b67565b60005b8381101562000ba257818101518382015260200162000b88565b50506000910152565b6000815180845262000bc581602086016020860162000b85565b601f01601f19169290920160200192915050565b84815260806020820152600084516101c080608085015262000c0061024085018362000b0d565b91506020870151607f19808685030160a087015262000c20848362000b0d565b935060408901519150808685030160c087015262000c3f848362000b0d565b935060608901519150808685030160e087015262000c5e848362000b0d565b93506080890151915061010081878603018188015262000c7f858462000b53565b945060a08a01519250610120838189015260c08b0151935061014084818a015260e08c0151945061016062000cb7818b018715159052565b928c015194506101809262000ccf8a85018715159052565b918c015194506101a09162000ce78a84018715159052565b908c015195890195909552938a01516001600160a01b03166101e0880152890151610200870152918801518584039092016102208601525062000d2b828262000bab565b9250505083604083015262000d4b60608301846001600160a01b03169052565b95945050505050565b60006020828403121562000d6757600080fd5b8151801515811462000d7857600080fd5b9392505050565b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b8181101562000dcf57855185168352948301949183019160010162000daf565b509098975050505050505050565b60006020828403121562000df057600080fd5b5051919050565b6001600160e01b031983168152815160009062000e1c81600485016020870162000b85565b919091016004019392505050565b6000825162000e3e81846020870162000b85565b919091019291505056fe608060405234801561001057600080fd5b506102b5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063123ec27e14610030575b600080fd5b61004361003e366004610133565b61005a565b6040516100519291906101f8565b60405180910390f35b6060600080835167ffffffffffffffff81111561007957610079610101565b6040519080825280602002602001820160405280156100a2578160200160208202803683370190505b5090506000805b85518110156100f65760018382815181106100c6576100c6610242565b91151560209283029190910190910152816100e081610258565b92505080806100ee90610258565b9150506100a9565b509094909350915050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461012e57600080fd5b919050565b6000602080838503121561014657600080fd5b823567ffffffffffffffff8082111561015e57600080fd5b818501915085601f83011261017257600080fd5b81358181111561018457610184610101565b8060051b604051601f19603f830116810181811085821117156101a9576101a9610101565b6040529182528482019250838101850191888311156101c757600080fd5b938501935b828510156101ec576101dd85610117565b845293850193928501926101cc565b98975050505050505050565b604080825283519082018190526000906020906060840190828701845b82811015610233578151151584529284019290840190600101610215565b50505092019290925292915050565b634e487b7160e01b600052603260045260246000fd5b60006001820161027857634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a2226f368667d19eec7cd680f95d6661b41a4775b44367f78d4e87f394f55eef64736f6c634300081100336080604052633b9aca00600055604051620027d2380380620027d28339810160408190526200002e9162000a59565b60005461018084015161014085015162000049908562000c4b565b62000055919062000c4b565b111562000075576040516352265f9760e11b815260040160405180910390fd5b600184905560005b835151811015620000ee5760016003600086600001518481518110620000a757620000a762000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000e58162000c7d565b9150506200007d565b5060005b836060015151811015620001c457600160046000866060015184815181106200011f576200011f62000c67565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000866060015184815181106200017d576200017d62000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620001bb8162000c7d565b915050620000f2565b508260e0015115620002495760005b83602001515181101562000247576001600260008660200151848151811062000200576200020062000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806200023e8162000c7d565b915050620001d3565b505b60005b836080015151811015620002bc576001600560008660800151848151811062000279576200027962000c67565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620002b39062000c7d565b9150506200024c565b5060408301518051620002d891600691602090910190620007a4565b5060a083015160075560c0830151600855610100808401516009805461012087015160e088015162ffff001990921693151590940262ff000019169290921762010000931515939093029290921760ff19169015151790556101a0830151600a9062000345908262000d28565b50825180516200035e91601191602090910190620007a4565b50306000908152600360205260409020805460ff19166001179055610140830151600b55610160830151600c80546001600160a01b039283166001600160a01b031991821617909155610180850151600d55600e849055600f805492841692909116919091179055600754620003d5904262000c4b565b6012556000601381905560148190556015819055601681905560178190556018556019805461ffff1916905534156200041257620004126200041c565b5050505062000e0a565b60095460ff1680156200043f57503360009081526002602052604090205460ff16155b156200045e57604051631939666560e21b815260040160405180910390fd5b600854601354106200048357604051631e74b6b760e11b815260040160405180910390fd5b33600090815260026020526040902054610100900460ff1615620004ba57604051635fdadce760e01b815260040160405180910390fd5b601254421115620004de576040516362ca2fcd60e01b815260040160405180910390fd5b3460009081526005602052604090205460ff166200050f57604051630be5378760e21b815260040160405180910390fd5b60408051608081018252600180825260208083018281526000848601818152346060870190815233808452600290955296822086518154945192511515620100000262ff0000199315156101000261ff00199215159290921661ffff1990961695909517179190911692909217825594519083015560108054928301815584527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67290910180546001600160a01b0319169091179055601380549192620005d58362000c7d565b91905055503460166000828254620005ee919062000c4b565b9250508190555060006200061334600e54600054620006c760201b62000af61760201c565b905060006200063334600b54600054620006c760201b62000af61760201c565b905060006200065334600d54600054620006c760201b62000af61760201c565b905060008162000664848662000c4b565b62000670919062000c4b565b9050806018600082825462000686919062000c4b565b909155505060405134815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a25050505050565b60008080600019858709858702925082811083820303915050806000036200070657838281620006fb57620006fb62000df4565b04925050506200079d565b8381106200073557604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b828054828255906000526020600020908101928215620007fc579160200282015b82811115620007fc57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620007c5565b506200080a9291506200080e565b5090565b5b808211156200080a57600081556001016200080f565b634e487b7160e01b600052604160045260246000fd5b6040516101c081016001600160401b038111828210171562000861576200086162000825565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000892576200089262000825565b604052919050565b60006001600160401b03821115620008b657620008b662000825565b5060051b60200190565b80516001600160a01b0381168114620008d857600080fd5b919050565b600082601f830112620008ef57600080fd5b815160206200090862000902836200089a565b62000867565b82815260059290921b840181019181810190868411156200092857600080fd5b8286015b848110156200094e576200094081620008c0565b83529183019183016200092c565b509695505050505050565b600082601f8301126200096b57600080fd5b815160206200097e62000902836200089a565b82815260059290921b840181019181810190868411156200099e57600080fd5b8286015b848110156200094e5780518352918301918301620009a2565b80518015158114620008d857600080fd5b600082601f830112620009de57600080fd5b81516001600160401b03811115620009fa57620009fa62000825565b602062000a10601f8301601f1916820162000867565b828152858284870101111562000a2557600080fd5b60005b8381101562000a4557858101830151828201840152820162000a28565b506000928101909101919091529392505050565b6000806000806080858703121562000a7057600080fd5b845160208601519094506001600160401b038082111562000a9057600080fd5b908601906101c0828903121562000aa657600080fd5b62000ab06200083b565b82518281111562000ac057600080fd5b62000ace8a828601620008dd565b82525060208301518281111562000ae457600080fd5b62000af28a828601620008dd565b60208301525060408301518281111562000b0b57600080fd5b62000b198a828601620008dd565b60408301525060608301518281111562000b3257600080fd5b62000b408a828601620008dd565b60608301525060808301518281111562000b5957600080fd5b62000b678a82860162000959565b60808301525060a083015160a082015260c083015160c082015262000b8f60e08401620009bb565b60e082015261010062000ba4818501620009bb565b9082015261012062000bb8848201620009bb565b90820152610140838101519082015261016062000bd7818501620008c0565b9082015261018083810151908201526101a0808401518381111562000bfb57600080fd5b62000c098b828701620009cc565b8284015250508095505050506040850151915062000c2a60608601620008c0565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000c615762000c6162000c35565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006001820162000c925762000c9262000c35565b5060010190565b600181811c9082168062000cae57607f821691505b60208210810362000ccf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d2357600081815260208120601f850160051c8101602086101562000cfe5750805b601f850160051c820191505b8181101562000d1f5782815560010162000d0a565b5050505b505050565b81516001600160401b0381111562000d445762000d4462000825565b62000d5c8162000d55845462000c99565b8462000cd5565b602080601f83116001811462000d94576000841562000d7b5750858301515b600019600386901b1c1916600185901b17855562000d1f565b600085815260208120601f198616915b8281101562000dc55788860151825594840194600190910190840162000da4565b508582101562000de45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b6119b88062000e1a6000396000f3fe6080604052600436106101b75760003560e01c80637df7c74f116100ec578063b468aca71161008a578063db231a4f11610064578063db231a4f146104db578063dcfba2ba146104f0578063e548e3e714610510578063f3ac01b91461054057600080fd5b8063b468aca71461046b578063cebf058f1461048b578063d50267ee146104ab57600080fd5b8063922fce95116100c6578063922fce95146104065780639340fd511461042557806394409a561461043f578063aa546a9e1461045557600080fd5b80637df7c74f146103975780638b301e2b146103b65780638f57727d146103d657600080fd5b8063362f04c01161015957806356539f391161013357806356539f391461034e5780635d758d391461036357806360c6d8ae1461037957806377c936621461038f57600080fd5b8063362f04c01461030e5780633a4b66f1146103245780633ccd928a1461032e57600080fd5b8063157135661161019557806315713566146102945780631f7180dd146102be57806324924bf7146102e257806334908c16146102f857600080fd5b806303ee438c146101bc57806309e69ede146101e75780630e6fdaa11461025c575b600080fd5b3480156101c857600080fd5b506101d1610556565b6040516101de91906114ee565b60405180910390f35b3480156101f357600080fd5b50610234610202366004611558565b6002602052600090815260409020805460019091015460ff808316926101008104821692620100009091049091169084565b60408051941515855292151560208501529015159183019190915260608201526080016101de565b34801561026857600080fd5b5061027c610277366004611573565b6105e4565b6040516001600160a01b0390911681526020016101de565b3480156102a057600080fd5b506019546102ae9060ff1681565b60405190151581526020016101de565b3480156102ca57600080fd5b506102d460145481565b6040519081526020016101de565b3480156102ee57600080fd5b506102d460085481565b34801561030457600080fd5b506102d460175481565b34801561031a57600080fd5b506102d460135481565b61032c61060e565b005b34801561033a57600080fd5b5061027c610349366004611573565b610618565b34801561035a57600080fd5b506001546102d4565b34801561036f57600080fd5b506102d460075481565b34801561038557600080fd5b506102d460185481565b61032c610628565b3480156103a357600080fd5b506009546102ae90610100900460ff1681565b3480156103c257600080fd5b5061027c6103d1366004611573565b610699565b3480156103e257600080fd5b506102ae6103f1366004611558565b60046020526000908152604090205460ff1681565b34801561041257600080fd5b506019546102ae90610100900460ff1681565b34801561043157600080fd5b506009546102ae9060ff1681565b34801561044b57600080fd5b506102d460165481565b34801561046157600080fd5b506102d460155481565b34801561047757600080fd5b5061032c610486366004611669565b6106a9565b34801561049757600080fd5b506009546102ae9062010000900460ff1681565b3480156104b757600080fd5b506102ae6104c6366004611573565b60056020526000908152604090205460ff1681565b3480156104e757600080fd5b5061032c61086c565b3480156104fc57600080fd5b5061032c61050b3660046116a6565b61090b565b34801561051c57600080fd5b506102ae61052b366004611558565b60036020526000908152604090205460ff1681565b34801561054c57600080fd5b506102d460125481565b600a8054610563906116f4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906116f4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b505050505081565b601081815481106105f457600080fd5b6000918252602090912001546001600160a01b0316905081565b610616610bcd565b565b601181815481106105f457600080fd5b60125442111561064b576040516362ca2fcd60e01b815260040160405180910390fd5b346015600082825461065d9190611744565b909155505060405134815233907f74194cee4daf68c6858b41efe9729cf57988cee7f447442f39a1e2adafd4e0219060200160405180910390a2565b600681815481106105f457600080fd5b3360009081526003602052604090205460ff166106d9576040516364f5dc8560e01b815260040160405180910390fd5b6012544211156106fc576040516362ca2fcd60e01b815260040160405180910390fd5b60005b81518110156107da576002600083838151811061071e5761071e61175d565b6020908102919091018101516001600160a01b0316825281019190915260400160002054610100900460ff16610767576040516379c6621560e01b815260040160405180910390fd5b6002600083838151811061077d5761077d61175d565b6020908102919091018101516001600160a01b031682528101919091526040016000205462010000900460ff16156107c8576040516379c6621560e01b815260040160405180910390fd5b806107d281611773565b9150506106ff565b5060005b81518110156108215760008282815181106107fb576107fb61175d565b6020026020010151905061080e81610e41565b508061081981611773565b9150506107de565b506019805460ff1916600117905560405133907f440c93edea69d1cf0502a6e259d2bcaf3e0a4f16428ddd3b6f5b68081e27eea3906108619084906117d0565b60405180910390a250565b601254421161088e5760405163066a900960e21b815260040160405180910390fd5b601954610100900460ff16156108b7576040516376e5413b60e11b815260040160405180910390fd5b6108bf610fed565b6108c7611174565b6108cf611323565b6019805461ff00191661010017905560405133907f8e4581edbcde6e54b523f4d359eb0eff7308e8d3e14ff8eac7e7705b4b98a62a90600090a2565b6001600160a01b03821660009081526004602052604090205460ff166109445760405163d67d8ec560e01b815260040160405180910390fd5b60405163091f613f60e11b8152829060009081906001600160a01b0384169063123ec27e906109779087906004016117d0565b600060405180830381865afa158015610994573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109bc91908101906117e3565b9150915060008167ffffffffffffffff8111156109db576109db61158c565b604051908082528060200260200182016040528015610a04578160200160208202803683370190505b5090506000805b8451811015610a9757848181518110610a2657610a2661175d565b602002602001015115610a8557868181518110610a4557610a4561175d565b6020026020010151838381518110610a5f57610a5f61175d565b6001600160a01b039092166020928302919091019091015281610a8181611773565b9250505b80610a8f81611773565b915050610a0b565b5060405163b468aca760e01b8152309063b468aca790610abb9085906004016117d0565b600060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b5050505050505050505050565b6000808060001985870985870292508281108382030391505080600003610b3057838281610b2657610b2661188b565b0492505050610bc6565b838110610b5e57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b60095460ff168015610bef57503360009081526002602052604090205460ff16155b15610c0d57604051631939666560e21b815260040160405180910390fd5b60085460135410610c3157604051631e74b6b760e11b815260040160405180910390fd5b33600090815260026020526040902054610100900460ff1615610c6757604051635fdadce760e01b815260040160405180910390fd5b601254421115610c8a576040516362ca2fcd60e01b815260040160405180910390fd5b3460009081526005602052604090205460ff16610cba57604051630be5378760e21b815260040160405180910390fd5b60408051608081018252600180825260208083018281526000848601818152346060870190815233808452600290955296822086518154945192511515620100000262ff0000199315156101000261ff00199215159290921661ffff1990961695909517179190911692909217825594519083015560108054928301815584527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67290910180546001600160a01b0319169091179055601380549192610d7e83611773565b91905055503460166000828254610d959190611744565b925050819055506000610dad34600e54600054610af6565b90506000610dc034600b54600054610af6565b90506000610dd334600d54600054610af6565b9050600081610de28486611744565b610dec9190611744565b90508060186000828254610e009190611744565b909155505060405134815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a25050505050565b6001600160a01b03811660009081526002602090815260408083208151608081018352815460ff80821615158352610100820481161515958301959095526201000090049093161515918301919091526001015460608201819052600e548354929392610eaf929190610af6565b90506000610ec68360600151600b54600054610af6565b90506000610edd8460600151600d54600054610af6565b9050600081610eec8486611744565b610ef69190611744565b90506000818660600151610f0a91906118a1565b6040519091506001600160a01b0388169082156108fc029083906000818181858888f19350505050158015610f43573d6000803e3d6000fd5b506001600160a01b0387166000908152600260205260408120805462ff00001916620100001790556014805491610f7983611773565b91905055508060176000828254610f909190611744565b9091555050606080870151604080519182526020820185905281018390526001600160a01b038916917f3c6d034538fc1be4c1c02283083c593ad4546ace8a6713cb5fb2ecb705a41446910160405180910390a250505050505050565b6014541561061657600060145460155461100791906118b4565b9050600060145467ffffffffffffffff8111156110265761102661158c565b60405190808252806020026020018201604052801561104f578160200160208202803683370190505b5090506000805b60135481101561112f576000601082815481106110755761107561175d565b60009182526020808320909101546001600160a01b0316808352600290915260409091205490915060ff62010000909104161561111c576040516001600160a01b0382169086156108fc029087906000818181858888f193505050501580156110e2573d6000803e3d6000fd5b50808484815181106110f6576110f661175d565b6001600160a01b03909216602092830291909101909101528261111881611773565b9350505b508061112781611773565b915050611056565b5060155460405133917f2114d896257ce5a58e1c18ae0d1cb1bd56f2f18c8b5a78e4541b48f40883b5af9161116791869188906118d6565b60405180910390a2505050565b6000611187601654600e54600054610af6565b9050600061119c601654600b54600054610af6565b905060006111b1601654600d54600054610af6565b6011549091506000906111c490836118b4565b9050831561120857600f546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611206573d6000803e3d6000fd5b505b821561124a57600c546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611248573d6000803e3d6000fd5b505b81156112c55760005b6011548110156112c357601181815481106112705761127061175d565b60009182526020822001546040516001600160a01b039091169184156108fc02918591818181858888f193505050501580156112b0573d6000803e3d6000fd5b50806112bb81611773565b915050611253565b505b600f54600c5460405133927ff50e8e029e43d877ce362cea5cb5693fcf553b41d0bc26d03ee286b56964bafb926113159289926001600160a01b03908116928a9291169089906011908a906118fb565b60405180910390a250505050565b600060145460135461133591906118a1565b11156106165760095460609062010000900460ff168015611359575060195460ff16155b156113c05760108054806020026020016040519081016040528092919081815260200182805480156113b457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611396575b5050505050905061141e565b600680548060200260200160405190810160405280929190818152602001828054801561141657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113f8575b505050505090505b601454601354479160009161143391906118a1565b61143d90836118b4565b905060005b83518110156114b05783818151811061145d5761145d61175d565b60200260200101516001600160a01b03166108fc839081150290604051600060405180830381858888f1935050505015801561149d573d6000803e3d6000fd5b50806114a881611773565b915050611442565b50336001600160a01b03167f1a50eba3476dd09ccdbee500a30b43381479c55b92f8ea25850f819ec591a520848484604051611167939291906118d6565b600060208083528351808285015260005b8181101561151b578581018301518582016040015282016114ff565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461155357600080fd5b919050565b60006020828403121561156a57600080fd5b610bc68261153c565b60006020828403121561158557600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156115cb576115cb61158c565b604052919050565b600067ffffffffffffffff8211156115ed576115ed61158c565b5060051b60200190565b600082601f83011261160857600080fd5b8135602061161d611618836115d3565b6115a2565b82815260059290921b8401810191818101908684111561163c57600080fd5b8286015b8481101561165e576116518161153c565b8352918301918301611640565b509695505050505050565b60006020828403121561167b57600080fd5b813567ffffffffffffffff81111561169257600080fd5b61169e848285016115f7565b949350505050565b600080604083850312156116b957600080fd5b6116c28361153c565b9150602083013567ffffffffffffffff8111156116de57600080fd5b6116ea858286016115f7565b9150509250929050565b600181811c9082168061170857607f821691505b60208210810361172857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156117575761175761172e565b92915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016117855761178561172e565b5060010190565b600081518084526020808501945080840160005b838110156117c55781516001600160a01b0316875295820195908201906001016117a0565b509495945050505050565b602081526000610bc6602083018461178c565b600080604083850312156117f657600080fd5b825167ffffffffffffffff81111561180d57600080fd5b8301601f8101851361181e57600080fd5b8051602061182e611618836115d3565b82815260059290921b8301810191818101908884111561184d57600080fd5b938201935b8385101561187a578451801515811461186b5760008081fd5b82529382019390820190611852565b969091015195979596505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156117575761175761172e565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006118e9606083018661178c565b60208301949094525060400152919050565b600060e08201898352602060018060a01b03808b1682860152896040860152808916606086015287608086015260e060a0860152828754808552610100870191508860005283600020945060005b81811015611967578554841683526001958601959285019201611949565b5050809450505050508260c08301529897505050505050505056fea26469706673582212209a4c52bf904012786dbf4b13678b4ede180c0089fbc1fbf7a309a4faac35883a64736f6c63430008110033a264697066735822122044bd842f8e5423785af2f29b4162d4af1a6eb08d8ce7c6d68bf41f8d77c8983b64736f6c6343000811003368747470733a2f2f646174612d736565642d7072656273632d312d73312e62696e616e63652e6f72673a3835343568747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f676f65726c692e696e667572612e696f2f76332f383438343230373862303939343636333863303331353766383334303532313368747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f72706368747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267",
    "sourceMap": "332:1727:26:-:0;;;1572:26:0;;;-1:-1:-1;;1572:26:0;1594:4;1572:26;;;650:14:5;:12;:14::i;:::-;620:44;;465:74:26;;;-1:-1:-1;;;;;;465:74:26;497:42;465:74;;;332:1727;;;;;;;;;;;;6228:3879:5;6269:7;6353:1679;;;;;;;;6381:46;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6381:46:5;;;;;;;6396:5;6381:46;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;6450:48;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6450:48:5;;;;;;;6467:5;6450:48;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;6521:54;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6521:54:5;;;;;;;6538:1;6521:54;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;6597:82;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6597:82:5;;;;;;;6613:1;6597:82;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;6870:53;;;;;;;;;;;;;;;;;-1:-1:-1;;;6870:53:5;;;;;;;;;;;6887:8;6353:1679;6870:53;;;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;;;;6947:52;;;;;;;;;;;;;;-1:-1:-1;;;6947:52:5;;;;;;6965:2;6947:52;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7029:58;;;;;;;;;;;;;;-1:-1:-1;;;7029:58:5;;;;;;7053:3;7029:58;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7114:59;;;;;;;;;;;;;;-1:-1:-1;;;7114:59:5;;;;;;7135:5;7114:59;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7206:75;;;;;;;;;;;;;;-1:-1:-1;;;7206:75:5;;;;;;;;;;7233:6;7206:75;;;;;;;;;;;;;;;6353:1679;;;;;7206:75;;;;;;;;;;;;;;;6353:1679;;7309:60;;;;;;;;;;;;;;;;;-1:-1:-1;;;7309:60:5;;;;;;;;;;;7331:5;6353:1679;7309:60;;;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;;;;7392:48;;;;;;;;;;;;;;-1:-1:-1;;;7392:48:5;;;;;;7409:3;7392:48;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7469:63;;;;;;;;;;;;;;-1:-1:-1;;;7469:63:5;;;;;;7492:5;7469:63;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7557:66;;;;;;;;;;;;;;-1:-1:-1;;;7557:66:5;;;;;;7576:5;7557:66;;;;;;;;;;;;;;;6353:1679;;;;;7557:66;;;;;;;;;;;;;6353:1679;;;;7652:75;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7652:75:5;;;;;;;7675:5;7652:75;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7756:63;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7756:63:5;;;;;;;7779:2;7756:63;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;;7855:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7885:2;7855:83;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;7965:56;;;;;;;;;;;;;;;-1:-1:-1;;;7965:56:5;;;;;;7986:3;6353:1679;7965:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6353:1679;;;6341:1691;;;;:9;;:1691;:9;;;;:1691;;:9;:1691;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;6341:1691:5;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6341:1691:5;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;8125:23;245:28;237:37;;-1:-1:-1;;;;;8152:10:5;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8152:12:5;;;;;;;;;;;;:::i;:::-;8124:40;;8179:9;8174:1909;8198:4;:11;8194:1;:15;8174:1909;;;8231:18;8251:20;8276:4;8281:1;8276:7;;;;;;;;:::i;:::-;;;;;;;8284:1;8276:10;;;;;;;:::i;:::-;;;;;8288:4;8293:1;8288:7;;;;;;;;:::i;:::-;;;;;;;8296:1;8288:10;;;;;;;:::i;:::-;;;;;8230:69;;;;8356:22;8364:4;8356:22;;;;;;;;;;;;;-1:-1:-1;;;8356:22:5;;;:7;;;:22;;:::i;:::-;8352:1683;;;8380:22;:31;8405:6;8380:22;:31;:::i;:::-;;8352:1683;;;8434:24;8442:4;8434:24;;;;;;;;;;;;;-1:-1:-1;;;8434:24:5;;;:7;;;:24;;:::i;:::-;8430:1605;;;8460:24;:33;8487:6;8460:24;:33;:::i;8430:1605::-;8516:24;8524:4;8516:24;;;;;;;;;;;;;-1:-1:-1;;;8516:24:5;;;:7;;;:24;;:::i;:::-;8512:1523;;;8542:24;:33;8569:6;8542:24;:33;:::i;8512:1523::-;8598:23;8606:4;8598:23;;;;;;;;;;;;;-1:-1:-1;;;8598:23:5;;;:7;;;:23;;:::i;:::-;8594:1441;;;8623:23;:32;8649:6;8623:23;:32;:::i;8594:1441::-;8678:24;8686:4;8678:24;;;;;;;;;;;;;-1:-1:-1;;;8678:24:5;;;:7;;;:24;;:::i;:::-;8674:1361;;;8704:24;:33;8731:6;8704:24;:33;:::i;8674:1361::-;8760:25;8768:4;8760:25;;;;;;;;;;;;;-1:-1:-1;;;8760:25:5;;;:7;;;:25;;:::i;:::-;8756:1279;;;8787:25;:34;8815:6;8787:25;:34;:::i;8756:1279::-;8844:51;8852:4;8844:51;;;;;;;;;;;;;-1:-1:-1;;;8844:51:5;;;;;;;;;;;;;;;;-1:-1:-1;;;8844:51:5;;;:7;;;:51;;:::i;:::-;8840:1195;;;8897:31;:40;8931:6;8897:31;:40;:::i;8840:1195::-;8960:45;8968:4;8960:45;;;;;;;;;;;;;-1:-1:-1;;;8960:45:5;;;;;;;;;;;;;;;;-1:-1:-1;;;8960:45:5;;;:7;;;:45;;:::i;:::-;8956:1079;;;9007:28;:37;9038:6;9007:28;:37;:::i;8956:1079::-;9067:59;9075:4;9067:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:7;;;:59;;:::i;:::-;9063:972;;;9128:34;:43;9165:6;9128:34;:43;:::i;9063:972::-;9194:47;9202:4;9194:47;;;;;;;;;;;;;-1:-1:-1;;;9194:47:5;;;;;;;;;;;;;;;;-1:-1:-1;;;9194:47:5;;;:7;;;:47;;:::i;:::-;9190:845;;;9243:29;:38;9275:6;9243:29;:38;:::i;9190:845::-;9304:24;9312:4;9304:24;;;;;;;;;;;;;-1:-1:-1;;;9304:24:5;;;:7;;;:24;;:::i;:::-;9300:735;;;9330:24;:33;9357:6;9330:24;:33;:::i;9300:735::-;9386:49;9394:4;9386:49;;;;;;;;;;;;;-1:-1:-1;;;9386:49:5;;;;;;;;;;;;;;;;-1:-1:-1;;;9386:49:5;;;:7;;;:49;;:::i;:::-;9382:653;;;9437:30;:39;9470:6;9437:30;:39;:::i;9382:653::-;9499:26;9507:4;9499:26;;;;;;;;;;;;;-1:-1:-1;;;9499:26:5;;;:7;;;:26;;:::i;:::-;9495:540;;;9527:26;:35;9556:6;9527:26;:35;:::i;9495:540::-;9585:49;9593:4;9585:49;;;;;;;;;;;;;-1:-1:-1;;;9585:49:5;;;;;;;;;;;;;;;;-1:-1:-1;;;9585:49:5;;;:7;;;:49;;:::i;:::-;9581:454;;;9636:30;:39;9669:6;9636:30;:39;:::i;9581:454::-;9698:51;9706:4;9698:51;;;;;;;;;;;;;-1:-1:-1;;;9698:51:5;;;;;;;;;;;;;;;;-1:-1:-1;;;9698:51:5;;;:7;;;:51;;:::i;:::-;9694:341;;;9751:30;:39;9784:6;9751:30;:39;:::i;9694:341::-;9813:67;9821:4;9813:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:7;;;:67;;:::i;:::-;9809:226;;;9882:37;:46;9922:6;9882:37;:46;:::i;9809:226::-;9951:45;9959:4;9951:45;;;;;;;;;;;;;-1:-1:-1;;;9951:45:5;;;;;;;;;;;;;;;;-1:-1:-1;;;9951:45:5;;;:7;;;:45;;:::i;:::-;9947:88;;;9998:28;:37;10029:6;9998:28;:37;:::i;:::-;;9947:88;8216:1867;;8211:3;;;;;:::i;:::-;;;;8174:1909;;;;10099:1;10092:8;;;6228:3879;:::o;10113:155::-;10186:4;10258:1;10247:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10237:24;;;;;;10230:1;10219:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10209:24;;;;;;:52;10202:59;;10113:155;;;;:::o;10274:240::-;10364:4;10448:1;10437:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10427:24;;;;;;10420:1;10409:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10399:24;;;;;;:52;:108;;;;10504:1;10493:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10483:24;;;;;;10476:1;10465:13;;;;;;;;:::i;:::-;;;;;;;;;;;;;10455:24;;;;;;:52;10399:108;10380:127;10274:240;-1:-1:-1;;;;10274:240:5:o;14:127:30:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:30;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:30;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:30;;;2580:26;2531:89;-1:-1:-1;;1335:1:30;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:30;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:30;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:30;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:30:o;2735:251::-;2807:2;2801:9;;;2837:15;;-1:-1:-1;;;;;2867:34:30;;2903:22;;;2864:62;2861:88;;;2929:18;;:::i;:::-;2965:2;2958:22;2735:251;:::o;2991:275::-;3062:2;3056:9;3127:2;3108:13;;-1:-1:-1;;3104:27:30;3092:40;;-1:-1:-1;;;;;3147:34:30;;3183:22;;;3144:62;3141:88;;;3209:18;;:::i;:::-;3245:2;3238:22;2991:275;;-1:-1:-1;2991:275:30:o;3271:250::-;3356:1;3366:113;3380:6;3377:1;3374:13;3366:113;;;3456:11;;;3450:18;3437:11;;;3430:39;3402:2;3395:10;3366:113;;;-1:-1:-1;;3513:1:30;3495:16;;3488:27;3271:250::o;3526:2078::-;3654:6;3707:2;3695:9;3686:7;3682:23;3678:32;3675:52;;;3723:1;3720;3713:12;3675:52;3750:16;;-1:-1:-1;;;;;3815:14:30;;;3812:34;;;3842:1;3839;3832:12;3812:34;3880:6;3869:9;3865:22;3855:32;;3925:7;3918:4;3914:2;3910:13;3906:27;3896:55;;3947:1;3944;3937:12;3896:55;3976:2;3970:9;3998:2;3994;3991:10;3988:36;;;4004:18;;:::i;:::-;4044:36;4076:2;4071;4068:1;4064:10;4060:19;4044:36;:::i;:::-;4102:3;4126:2;4121:3;4114:15;4154:2;4149:3;4145:12;4138:19;;4205:2;4199;4196:1;4192:10;4188:2;4184:19;4180:28;4166:42;;4231:7;4223:6;4220:19;4217:39;;;4252:1;4249;4242:12;4217:39;4284:2;4280;4276:11;4296:1278;4312:6;4307:3;4304:15;4296:1278;;;4391:3;4385:10;4427:2;4414:11;4411:19;4408:39;;;4443:1;4440;4433:12;4408:39;4470:20;;4525:2;4517:11;;4513:25;-1:-1:-1;4503:53:30;;4552:1;4549;4542:12;4503:53;4582:22;;:::i;:::-;4630:5;4667:7;4662:2;4658;4654:11;4651:24;4648:44;;;4688:1;4685;4678:12;4648:44;4726:2;4722;4718:11;4742:759;4768:2;4764;4760:11;4753:5;4750:22;4742:759;;;4858:5;4852:12;4902:2;4887:13;4884:21;4881:41;;;4918:1;4915;4908:12;4881:41;4949:22;;5010:2;5002:11;;4998:25;-1:-1:-1;4988:53:30;;5037:1;5034;5027:12;4988:53;5082:2;5078;5074:11;5068:18;5113:2;5109;5106:10;5103:36;;;5119:18;;:::i;:::-;5169:53;5212:2;5193:13;;-1:-1:-1;;5189:27:30;5218:2;5185:36;5169:53;:::i;:::-;5253:2;5246:5;5239:17;5301:7;5296:2;5291;5287;5283:11;5279:20;5276:33;5273:53;;;5322:1;5319;5312:12;5273:53;5343:67;5407:2;5402;5395:5;5391:14;5386:2;5382;5378:11;5343:67;:::i;:::-;5427:20;;-1:-1:-1;;5484:2:30;5473:14;;;;4784;4742:759;;;-1:-1:-1;5514:18:30;;-1:-1:-1;;5561:2:30;5552:12;;;;4329;4296:1278;;;-1:-1:-1;5593:5:30;3526:2078;-1:-1:-1;;;;;;;3526:2078:30:o;5609:127::-;5670:10;5665:3;5661:20;5658:1;5651:31;5701:4;5698:1;5691:15;5725:4;5722:1;5715:15;5741:232;5780:3;5801:17;;;5798:140;;5860:10;5855:3;5851:20;5848:1;5841:31;5895:4;5892:1;5885:15;5923:4;5920:1;5913:15;5798:140;-1:-1:-1;5965:1:30;5954:13;;5741:232::o;5978:396::-;6127:2;6116:9;6109:21;6090:4;6159:6;6153:13;6202:6;6197:2;6186:9;6182:18;6175:34;6218:79;6290:6;6285:2;6274:9;6270:18;6265:2;6257:6;6253:15;6218:79;:::i;:::-;6358:2;6337:15;-1:-1:-1;;6333:29:30;6318:45;;;;6365:2;6314:54;;5978:396;-1:-1:-1;;5978:396:30:o;:::-;332:1727:26;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80630a9254e4146200006f578063160c0c23146200007b57806327bd129714620000ac578063ba414fa614620000b6578063d9e3f00e14620000d1578063fa7626d414620000e5575b600080fd5b62000079620000f3565b005b6043546200008f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b62000079620003f7565b620000c0620006f0565b6040519015158152602001620000a3565b6044546200008f906001600160a01b031681565b600754620000c09060ff1681565b604051620001019062000adb565b604051809103906000f0801580156200011e573d6000803e3d6000fd5b50604480546001600160a01b0319166001600160a01b039290921691909117905560408051600180825281830190925260009160208083019080368337505060445482519293506001600160a01b03169183915060009062000184576200018462000af7565b6001600160a01b03929092166020928302919091019091015260408051600180825281830190925260009181602001602082028036833701905050905066b1a2bc2ec5000081600081518110620001df57620001df62000af7565b6020908102919091018101919091526040805160006101c082018181526101e08301845282528251818152808501845282850152825181815280850184528284015260608201869052608082018590526212750060a0830152606460c083015260e08201819052610100820181905260016101208301819052610140830182905261016083018290526101808301829052835194850184528185526101a0830194909452915190929183918190620002979062000ae9565b620002a6949392919062000bd9565b604051809103906000f080158015620002c3573d6000803e3d6000fd5b50604380546001600160a01b0319166001600160a01b03928316179055604554604080516318caf8e360e31b81529190921660048201526024810191909152600b60448201526a1c185c9d1a58da5c185b9d60aa1b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b1580156200035757600080fd5b505af11580156200036c573d6000803e3d6000fd5b505060455460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d631000006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c88a5e6d9150604401600060405180830381600087803b158015620003d957600080fd5b505af1158015620003ee573d6000803e3d6000fd5b50505050505050565b604454604354604051638f57727d60e01b81526001600160a01b03928316600482018190529262000478921690638f57727d906024015b602060405180830381865afa1580156200044c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000472919062000d54565b62000827565b60435460405163e548e3e760e01b81526001600160a01b038381166004830152620004ae92169063e548e3e7906024016200042e565b60455460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200050857600080fd5b505af11580156200051d573d6000803e3d6000fd5b50505050604360009054906101000a90046001600160a01b03166001600160a01b0316633a4b66f166b1a2bc2ec500006040518263ffffffff1660e01b81526004016000604051808303818588803b1580156200057957600080fd5b505af11580156200058e573d6000803e3d6000fd5b506000935060019250620005a0915050565b604051908082528060200260200182016040528015620005ca578160200160208202803683370190505b5060455481519192506001600160a01b0316908290600090620005f157620005f162000af7565b6001600160a01b039283166020918202929092010152604354604051636e7dd15d60e11b815291169063dcfba2ba9062000632908590859060040162000d7f565b600060405180830381600087803b1580156200064d57600080fd5b505af115801562000662573d6000803e3d6000fd5b50505050620006ec604360009054906101000a90046001600160a01b03166001600160a01b0316631f7180dd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006e4919062000ddd565b6001620008a2565b5050565b600754600090610100900460ff1615620007135750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620008225760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091620007a4917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162000df7565b60408051601f1981840301815290829052620007c09162000e2a565b6000604051808303816000865af19150503d8060008114620007ff576040519150601f19603f3d011682016040523d82523d6000602084013e62000804565b606091505b50915050808060200190518101906200081e919062000d54565b9150505b919050565b806200089f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516200088d9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16200089f620009c8565b50565b808214620006ec577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051620009159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808115e1c1958dd195960b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a8183015269080808081058dd1d585b60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1620006ec5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000aca5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f198184030181529082905262000a65929160200162000df7565b60408051601f198184030181529082905262000a819162000e2a565b6000604051808303816000865af19150503d806000811462000ac0576040519150601f19603f3d011682016040523d82523d6000602084013e62000ac5565b606091505b505050505b6007805461ff001916610100179055565b6102d58062000e4983390190565b6127d2806200111e83390190565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b8381101562000b485781516001600160a01b03168752958201959082019060010162000b21565b509495945050505050565b600081518084526020808501945080840160005b8381101562000b485781518752958201959082019060010162000b67565b60005b8381101562000ba257818101518382015260200162000b88565b50506000910152565b6000815180845262000bc581602086016020860162000b85565b601f01601f19169290920160200192915050565b84815260806020820152600084516101c080608085015262000c0061024085018362000b0d565b91506020870151607f19808685030160a087015262000c20848362000b0d565b935060408901519150808685030160c087015262000c3f848362000b0d565b935060608901519150808685030160e087015262000c5e848362000b0d565b93506080890151915061010081878603018188015262000c7f858462000b53565b945060a08a01519250610120838189015260c08b0151935061014084818a015260e08c0151945061016062000cb7818b018715159052565b928c015194506101809262000ccf8a85018715159052565b918c015194506101a09162000ce78a84018715159052565b908c015195890195909552938a01516001600160a01b03166101e0880152890151610200870152918801518584039092016102208601525062000d2b828262000bab565b9250505083604083015262000d4b60608301846001600160a01b03169052565b95945050505050565b60006020828403121562000d6757600080fd5b8151801515811462000d7857600080fd5b9392505050565b6001600160a01b038381168252604060208084018290528451918401829052600092858201929091906060860190855b8181101562000dcf57855185168352948301949183019160010162000daf565b509098975050505050505050565b60006020828403121562000df057600080fd5b5051919050565b6001600160e01b031983168152815160009062000e1c81600485016020870162000b85565b919091016004019392505050565b6000825162000e3e81846020870162000b85565b919091019291505056fe608060405234801561001057600080fd5b506102b5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063123ec27e14610030575b600080fd5b61004361003e366004610133565b61005a565b6040516100519291906101f8565b60405180910390f35b6060600080835167ffffffffffffffff81111561007957610079610101565b6040519080825280602002602001820160405280156100a2578160200160208202803683370190505b5090506000805b85518110156100f65760018382815181106100c6576100c6610242565b91151560209283029190910190910152816100e081610258565b92505080806100ee90610258565b9150506100a9565b509094909350915050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461012e57600080fd5b919050565b6000602080838503121561014657600080fd5b823567ffffffffffffffff8082111561015e57600080fd5b818501915085601f83011261017257600080fd5b81358181111561018457610184610101565b8060051b604051601f19603f830116810181811085821117156101a9576101a9610101565b6040529182528482019250838101850191888311156101c757600080fd5b938501935b828510156101ec576101dd85610117565b845293850193928501926101cc565b98975050505050505050565b604080825283519082018190526000906020906060840190828701845b82811015610233578151151584529284019290840190600101610215565b50505092019290925292915050565b634e487b7160e01b600052603260045260246000fd5b60006001820161027857634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a2226f368667d19eec7cd680f95d6661b41a4775b44367f78d4e87f394f55eef64736f6c634300081100336080604052633b9aca00600055604051620027d2380380620027d28339810160408190526200002e9162000a59565b60005461018084015161014085015162000049908562000c4b565b62000055919062000c4b565b111562000075576040516352265f9760e11b815260040160405180910390fd5b600184905560005b835151811015620000ee5760016003600086600001518481518110620000a757620000a762000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000e58162000c7d565b9150506200007d565b5060005b836060015151811015620001c457600160046000866060015184815181106200011f576200011f62000c67565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000866060015184815181106200017d576200017d62000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620001bb8162000c7d565b915050620000f2565b508260e0015115620002495760005b83602001515181101562000247576001600260008660200151848151811062000200576200020062000c67565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806200023e8162000c7d565b915050620001d3565b505b60005b836080015151811015620002bc576001600560008660800151848151811062000279576200027962000c67565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080620002b39062000c7d565b9150506200024c565b5060408301518051620002d891600691602090910190620007a4565b5060a083015160075560c0830151600855610100808401516009805461012087015160e088015162ffff001990921693151590940262ff000019169290921762010000931515939093029290921760ff19169015151790556101a0830151600a9062000345908262000d28565b50825180516200035e91601191602090910190620007a4565b50306000908152600360205260409020805460ff19166001179055610140830151600b55610160830151600c80546001600160a01b039283166001600160a01b031991821617909155610180850151600d55600e849055600f805492841692909116919091179055600754620003d5904262000c4b565b6012556000601381905560148190556015819055601681905560178190556018556019805461ffff1916905534156200041257620004126200041c565b5050505062000e0a565b60095460ff1680156200043f57503360009081526002602052604090205460ff16155b156200045e57604051631939666560e21b815260040160405180910390fd5b600854601354106200048357604051631e74b6b760e11b815260040160405180910390fd5b33600090815260026020526040902054610100900460ff1615620004ba57604051635fdadce760e01b815260040160405180910390fd5b601254421115620004de576040516362ca2fcd60e01b815260040160405180910390fd5b3460009081526005602052604090205460ff166200050f57604051630be5378760e21b815260040160405180910390fd5b60408051608081018252600180825260208083018281526000848601818152346060870190815233808452600290955296822086518154945192511515620100000262ff0000199315156101000261ff00199215159290921661ffff1990961695909517179190911692909217825594519083015560108054928301815584527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67290910180546001600160a01b0319169091179055601380549192620005d58362000c7d565b91905055503460166000828254620005ee919062000c4b565b9250508190555060006200061334600e54600054620006c760201b62000af61760201c565b905060006200063334600b54600054620006c760201b62000af61760201c565b905060006200065334600d54600054620006c760201b62000af61760201c565b905060008162000664848662000c4b565b62000670919062000c4b565b9050806018600082825462000686919062000c4b565b909155505060405134815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a25050505050565b60008080600019858709858702925082811083820303915050806000036200070657838281620006fb57620006fb62000df4565b04925050506200079d565b8381106200073557604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b828054828255906000526020600020908101928215620007fc579160200282015b82811115620007fc57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620007c5565b506200080a9291506200080e565b5090565b5b808211156200080a57600081556001016200080f565b634e487b7160e01b600052604160045260246000fd5b6040516101c081016001600160401b038111828210171562000861576200086162000825565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000892576200089262000825565b604052919050565b60006001600160401b03821115620008b657620008b662000825565b5060051b60200190565b80516001600160a01b0381168114620008d857600080fd5b919050565b600082601f830112620008ef57600080fd5b815160206200090862000902836200089a565b62000867565b82815260059290921b840181019181810190868411156200092857600080fd5b8286015b848110156200094e576200094081620008c0565b83529183019183016200092c565b509695505050505050565b600082601f8301126200096b57600080fd5b815160206200097e62000902836200089a565b82815260059290921b840181019181810190868411156200099e57600080fd5b8286015b848110156200094e5780518352918301918301620009a2565b80518015158114620008d857600080fd5b600082601f830112620009de57600080fd5b81516001600160401b03811115620009fa57620009fa62000825565b602062000a10601f8301601f1916820162000867565b828152858284870101111562000a2557600080fd5b60005b8381101562000a4557858101830151828201840152820162000a28565b506000928101909101919091529392505050565b6000806000806080858703121562000a7057600080fd5b845160208601519094506001600160401b038082111562000a9057600080fd5b908601906101c0828903121562000aa657600080fd5b62000ab06200083b565b82518281111562000ac057600080fd5b62000ace8a828601620008dd565b82525060208301518281111562000ae457600080fd5b62000af28a828601620008dd565b60208301525060408301518281111562000b0b57600080fd5b62000b198a828601620008dd565b60408301525060608301518281111562000b3257600080fd5b62000b408a828601620008dd565b60608301525060808301518281111562000b5957600080fd5b62000b678a82860162000959565b60808301525060a083015160a082015260c083015160c082015262000b8f60e08401620009bb565b60e082015261010062000ba4818501620009bb565b9082015261012062000bb8848201620009bb565b90820152610140838101519082015261016062000bd7818501620008c0565b9082015261018083810151908201526101a0808401518381111562000bfb57600080fd5b62000c098b828701620009cc565b8284015250508095505050506040850151915062000c2a60608601620008c0565b905092959194509250565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000c615762000c6162000c35565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006001820162000c925762000c9262000c35565b5060010190565b600181811c9082168062000cae57607f821691505b60208210810362000ccf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000d2357600081815260208120601f850160051c8101602086101562000cfe5750805b601f850160051c820191505b8181101562000d1f5782815560010162000d0a565b5050505b505050565b81516001600160401b0381111562000d445762000d4462000825565b62000d5c8162000d55845462000c99565b8462000cd5565b602080601f83116001811462000d94576000841562000d7b5750858301515b600019600386901b1c1916600185901b17855562000d1f565b600085815260208120601f198616915b8281101562000dc55788860151825594840194600190910190840162000da4565b508582101562000de45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b6119b88062000e1a6000396000f3fe6080604052600436106101b75760003560e01c80637df7c74f116100ec578063b468aca71161008a578063db231a4f11610064578063db231a4f146104db578063dcfba2ba146104f0578063e548e3e714610510578063f3ac01b91461054057600080fd5b8063b468aca71461046b578063cebf058f1461048b578063d50267ee146104ab57600080fd5b8063922fce95116100c6578063922fce95146104065780639340fd511461042557806394409a561461043f578063aa546a9e1461045557600080fd5b80637df7c74f146103975780638b301e2b146103b65780638f57727d146103d657600080fd5b8063362f04c01161015957806356539f391161013357806356539f391461034e5780635d758d391461036357806360c6d8ae1461037957806377c936621461038f57600080fd5b8063362f04c01461030e5780633a4b66f1146103245780633ccd928a1461032e57600080fd5b8063157135661161019557806315713566146102945780631f7180dd146102be57806324924bf7146102e257806334908c16146102f857600080fd5b806303ee438c146101bc57806309e69ede146101e75780630e6fdaa11461025c575b600080fd5b3480156101c857600080fd5b506101d1610556565b6040516101de91906114ee565b60405180910390f35b3480156101f357600080fd5b50610234610202366004611558565b6002602052600090815260409020805460019091015460ff808316926101008104821692620100009091049091169084565b60408051941515855292151560208501529015159183019190915260608201526080016101de565b34801561026857600080fd5b5061027c610277366004611573565b6105e4565b6040516001600160a01b0390911681526020016101de565b3480156102a057600080fd5b506019546102ae9060ff1681565b60405190151581526020016101de565b3480156102ca57600080fd5b506102d460145481565b6040519081526020016101de565b3480156102ee57600080fd5b506102d460085481565b34801561030457600080fd5b506102d460175481565b34801561031a57600080fd5b506102d460135481565b61032c61060e565b005b34801561033a57600080fd5b5061027c610349366004611573565b610618565b34801561035a57600080fd5b506001546102d4565b34801561036f57600080fd5b506102d460075481565b34801561038557600080fd5b506102d460185481565b61032c610628565b3480156103a357600080fd5b506009546102ae90610100900460ff1681565b3480156103c257600080fd5b5061027c6103d1366004611573565b610699565b3480156103e257600080fd5b506102ae6103f1366004611558565b60046020526000908152604090205460ff1681565b34801561041257600080fd5b506019546102ae90610100900460ff1681565b34801561043157600080fd5b506009546102ae9060ff1681565b34801561044b57600080fd5b506102d460165481565b34801561046157600080fd5b506102d460155481565b34801561047757600080fd5b5061032c610486366004611669565b6106a9565b34801561049757600080fd5b506009546102ae9062010000900460ff1681565b3480156104b757600080fd5b506102ae6104c6366004611573565b60056020526000908152604090205460ff1681565b3480156104e757600080fd5b5061032c61086c565b3480156104fc57600080fd5b5061032c61050b3660046116a6565b61090b565b34801561051c57600080fd5b506102ae61052b366004611558565b60036020526000908152604090205460ff1681565b34801561054c57600080fd5b506102d460125481565b600a8054610563906116f4565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906116f4565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b505050505081565b601081815481106105f457600080fd5b6000918252602090912001546001600160a01b0316905081565b610616610bcd565b565b601181815481106105f457600080fd5b60125442111561064b576040516362ca2fcd60e01b815260040160405180910390fd5b346015600082825461065d9190611744565b909155505060405134815233907f74194cee4daf68c6858b41efe9729cf57988cee7f447442f39a1e2adafd4e0219060200160405180910390a2565b600681815481106105f457600080fd5b3360009081526003602052604090205460ff166106d9576040516364f5dc8560e01b815260040160405180910390fd5b6012544211156106fc576040516362ca2fcd60e01b815260040160405180910390fd5b60005b81518110156107da576002600083838151811061071e5761071e61175d565b6020908102919091018101516001600160a01b0316825281019190915260400160002054610100900460ff16610767576040516379c6621560e01b815260040160405180910390fd5b6002600083838151811061077d5761077d61175d565b6020908102919091018101516001600160a01b031682528101919091526040016000205462010000900460ff16156107c8576040516379c6621560e01b815260040160405180910390fd5b806107d281611773565b9150506106ff565b5060005b81518110156108215760008282815181106107fb576107fb61175d565b6020026020010151905061080e81610e41565b508061081981611773565b9150506107de565b506019805460ff1916600117905560405133907f440c93edea69d1cf0502a6e259d2bcaf3e0a4f16428ddd3b6f5b68081e27eea3906108619084906117d0565b60405180910390a250565b601254421161088e5760405163066a900960e21b815260040160405180910390fd5b601954610100900460ff16156108b7576040516376e5413b60e11b815260040160405180910390fd5b6108bf610fed565b6108c7611174565b6108cf611323565b6019805461ff00191661010017905560405133907f8e4581edbcde6e54b523f4d359eb0eff7308e8d3e14ff8eac7e7705b4b98a62a90600090a2565b6001600160a01b03821660009081526004602052604090205460ff166109445760405163d67d8ec560e01b815260040160405180910390fd5b60405163091f613f60e11b8152829060009081906001600160a01b0384169063123ec27e906109779087906004016117d0565b600060405180830381865afa158015610994573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109bc91908101906117e3565b9150915060008167ffffffffffffffff8111156109db576109db61158c565b604051908082528060200260200182016040528015610a04578160200160208202803683370190505b5090506000805b8451811015610a9757848181518110610a2657610a2661175d565b602002602001015115610a8557868181518110610a4557610a4561175d565b6020026020010151838381518110610a5f57610a5f61175d565b6001600160a01b039092166020928302919091019091015281610a8181611773565b9250505b80610a8f81611773565b915050610a0b565b5060405163b468aca760e01b8152309063b468aca790610abb9085906004016117d0565b600060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b5050505050505050505050565b6000808060001985870985870292508281108382030391505080600003610b3057838281610b2657610b2661188b565b0492505050610bc6565b838110610b5e57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b60095460ff168015610bef57503360009081526002602052604090205460ff16155b15610c0d57604051631939666560e21b815260040160405180910390fd5b60085460135410610c3157604051631e74b6b760e11b815260040160405180910390fd5b33600090815260026020526040902054610100900460ff1615610c6757604051635fdadce760e01b815260040160405180910390fd5b601254421115610c8a576040516362ca2fcd60e01b815260040160405180910390fd5b3460009081526005602052604090205460ff16610cba57604051630be5378760e21b815260040160405180910390fd5b60408051608081018252600180825260208083018281526000848601818152346060870190815233808452600290955296822086518154945192511515620100000262ff0000199315156101000261ff00199215159290921661ffff1990961695909517179190911692909217825594519083015560108054928301815584527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67290910180546001600160a01b0319169091179055601380549192610d7e83611773565b91905055503460166000828254610d959190611744565b925050819055506000610dad34600e54600054610af6565b90506000610dc034600b54600054610af6565b90506000610dd334600d54600054610af6565b9050600081610de28486611744565b610dec9190611744565b90508060186000828254610e009190611744565b909155505060405134815233907febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a9060200160405180910390a25050505050565b6001600160a01b03811660009081526002602090815260408083208151608081018352815460ff80821615158352610100820481161515958301959095526201000090049093161515918301919091526001015460608201819052600e548354929392610eaf929190610af6565b90506000610ec68360600151600b54600054610af6565b90506000610edd8460600151600d54600054610af6565b9050600081610eec8486611744565b610ef69190611744565b90506000818660600151610f0a91906118a1565b6040519091506001600160a01b0388169082156108fc029083906000818181858888f19350505050158015610f43573d6000803e3d6000fd5b506001600160a01b0387166000908152600260205260408120805462ff00001916620100001790556014805491610f7983611773565b91905055508060176000828254610f909190611744565b9091555050606080870151604080519182526020820185905281018390526001600160a01b038916917f3c6d034538fc1be4c1c02283083c593ad4546ace8a6713cb5fb2ecb705a41446910160405180910390a250505050505050565b6014541561061657600060145460155461100791906118b4565b9050600060145467ffffffffffffffff8111156110265761102661158c565b60405190808252806020026020018201604052801561104f578160200160208202803683370190505b5090506000805b60135481101561112f576000601082815481106110755761107561175d565b60009182526020808320909101546001600160a01b0316808352600290915260409091205490915060ff62010000909104161561111c576040516001600160a01b0382169086156108fc029087906000818181858888f193505050501580156110e2573d6000803e3d6000fd5b50808484815181106110f6576110f661175d565b6001600160a01b03909216602092830291909101909101528261111881611773565b9350505b508061112781611773565b915050611056565b5060155460405133917f2114d896257ce5a58e1c18ae0d1cb1bd56f2f18c8b5a78e4541b48f40883b5af9161116791869188906118d6565b60405180910390a2505050565b6000611187601654600e54600054610af6565b9050600061119c601654600b54600054610af6565b905060006111b1601654600d54600054610af6565b6011549091506000906111c490836118b4565b9050831561120857600f546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015611206573d6000803e3d6000fd5b505b821561124a57600c546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015611248573d6000803e3d6000fd5b505b81156112c55760005b6011548110156112c357601181815481106112705761127061175d565b60009182526020822001546040516001600160a01b039091169184156108fc02918591818181858888f193505050501580156112b0573d6000803e3d6000fd5b50806112bb81611773565b915050611253565b505b600f54600c5460405133927ff50e8e029e43d877ce362cea5cb5693fcf553b41d0bc26d03ee286b56964bafb926113159289926001600160a01b03908116928a9291169089906011908a906118fb565b60405180910390a250505050565b600060145460135461133591906118a1565b11156106165760095460609062010000900460ff168015611359575060195460ff16155b156113c05760108054806020026020016040519081016040528092919081815260200182805480156113b457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611396575b5050505050905061141e565b600680548060200260200160405190810160405280929190818152602001828054801561141657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116113f8575b505050505090505b601454601354479160009161143391906118a1565b61143d90836118b4565b905060005b83518110156114b05783818151811061145d5761145d61175d565b60200260200101516001600160a01b03166108fc839081150290604051600060405180830381858888f1935050505015801561149d573d6000803e3d6000fd5b50806114a881611773565b915050611442565b50336001600160a01b03167f1a50eba3476dd09ccdbee500a30b43381479c55b92f8ea25850f819ec591a520848484604051611167939291906118d6565b600060208083528351808285015260005b8181101561151b578581018301518582016040015282016114ff565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461155357600080fd5b919050565b60006020828403121561156a57600080fd5b610bc68261153c565b60006020828403121561158557600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156115cb576115cb61158c565b604052919050565b600067ffffffffffffffff8211156115ed576115ed61158c565b5060051b60200190565b600082601f83011261160857600080fd5b8135602061161d611618836115d3565b6115a2565b82815260059290921b8401810191818101908684111561163c57600080fd5b8286015b8481101561165e576116518161153c565b8352918301918301611640565b509695505050505050565b60006020828403121561167b57600080fd5b813567ffffffffffffffff81111561169257600080fd5b61169e848285016115f7565b949350505050565b600080604083850312156116b957600080fd5b6116c28361153c565b9150602083013567ffffffffffffffff8111156116de57600080fd5b6116ea858286016115f7565b9150509250929050565b600181811c9082168061170857607f821691505b60208210810361172857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156117575761175761172e565b92915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016117855761178561172e565b5060010190565b600081518084526020808501945080840160005b838110156117c55781516001600160a01b0316875295820195908201906001016117a0565b509495945050505050565b602081526000610bc6602083018461178c565b600080604083850312156117f657600080fd5b825167ffffffffffffffff81111561180d57600080fd5b8301601f8101851361181e57600080fd5b8051602061182e611618836115d3565b82815260059290921b8301810191818101908884111561184d57600080fd5b938201935b8385101561187a578451801515811461186b5760008081fd5b82529382019390820190611852565b969091015195979596505050505050565b634e487b7160e01b600052601260045260246000fd5b818103818111156117575761175761172e565b6000826118d157634e487b7160e01b600052601260045260246000fd5b500490565b6060815260006118e9606083018661178c565b60208301949094525060400152919050565b600060e08201898352602060018060a01b03808b1682860152896040860152808916606086015287608086015260e060a0860152828754808552610100870191508860005283600020945060005b81811015611967578554841683526001958601959285019201611949565b5050809450505050508260c08301529897505050505050505056fea26469706673582212209a4c52bf904012786dbf4b13678b4ede180c0089fbc1fbf7a309a4faac35883a64736f6c63430008110033a264697066735822122044bd842f8e5423785af2f29b4162d4af1a6eb08d8ce7c6d68bf41f8d77c8983b64736f6c63430008110033",
    "sourceMap": "332:1727:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;546:856;;;:::i;:::-;;377:30;;;;;-1:-1:-1;;;;;377:30:26;;;;;;-1:-1:-1;;;;;199:32:30;;;181:51;;169:2;154:18;377:30:26;;;;;;;;1408:649;;;:::i;1819:584:0:-;;;:::i;:::-;;;504:14:30;;497:22;479:41;;467:2;452:18;1819:584:0;339:187:30;413:46:26;;;;;-1:-1:-1;;;;;413:46:26;;;1572:26:0;;;;;;;;;546:856:26;602:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;580:19:26;:47;;-1:-1:-1;;;;;;580:47:26;-1:-1:-1;;;;;580:47:26;;;;;;;;;;672:16;;;-1:-1:-1;672:16:26;;;;;;;;;-1:-1:-1;;672:16:26;;;;;;;;;-1:-1:-1;;727:19:26;;698:18;;;;-1:-1:-1;;;;;;727:19:26;;698:18;;-1:-1:-1;727:19:26;;698:18;;;;:::i;:::-;-1:-1:-1;;;;;698:49:26;;;;:18;;;;;;;;;;;:49;790:16;;;804:1;790:16;;;;;;;;;758:29;;790:16;;;;;;;;;;;;-1:-1:-1;790:16:26;758:48;;834:10;816:12;829:1;816:15;;;;;;;;:::i;:::-;;;;;;;;;;;:28;;;;897:340;;;-1:-1:-1;897:340:26;;;932:16;;;;;;;;897:340;;962:16;;;;;;;;;;897:340;;;;992:16;;;;;;;;;;897:340;;;;;;;;;;;;;;;;1077:7;897:340;;;;1098:3;897:340;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;897:340:26;;;;;;;;;;;;;;;;;;;;1261:45;;897:340;;;;;-1:-1:-1;;1261:45:26;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1247:11:26;:59;;-1:-1:-1;;;;;;1247:59:26;-1:-1:-1;;;;;1247:59:26;;;;;;1325:12;;1316:37;;;-1:-1:-1;;;1316:37:26;;1325:12;;;;1316:37;;;5324:51:30;5391:18;;;5384:30;;;;5450:2;5430:18;;;5423:30;-1:-1:-1;;;5469:18:30;;;5462:41;1316:8:26;;;;5520:19:30;;1316:37:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1371:12:26;;1363:32;;-1:-1:-1;;;1363:32:26;;-1:-1:-1;;;;;1371:12:26;;;1363:32;;;5752:51:30;1385:9:26;5819:18:30;;;5812:34;1363:7:26;;-1:-1:-1;1363:7:26;;-1:-1:-1;5725:18:30;;1363:32:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;570:832;;;546:856::o;1408:649::-;1500:19;;1541:11;;:55;;-1:-1:-1;;;1541:55:26;;-1:-1:-1;;;;;1500:19:26;;;1541:55;;;181:51:30;;;1500:19:26;1530:67;;1541:11;;:27;;154:18:30;;1541:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1530:10;:67::i;:::-;1618:11;;:51;;-1:-1:-1;;;1618:51:26;;-1:-1:-1;;;;;199:32:30;;;1618:51:26;;;181::30;1607:63:26;;1618:11;;:23;;154:18:30;;1618:51:26;14:224:30;1607:63:26;1689:12;;1680:22;;-1:-1:-1;;;1680:22:26;;-1:-1:-1;;;;;1689:12:26;;;1680:22;;;181:51:30;1680:8:26;;;;154:18:30;;1680:22:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1712:11;;;;;;;;;-1:-1:-1;;;;;1712:11:26;-1:-1:-1;;;;;1712:17:26;;1737:10;1712:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1760:36:26;;-1:-1:-1;1813:1:26;;-1:-1:-1;1799:16:26;;-1:-1:-1;;1799:16:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1799:16:26;-1:-1:-1;1858:12:26;;1825:22;;1760:55;;-1:-1:-1;;;;;;1858:12:26;;1760:55;;1858:12;;1825:22;;;;:::i;:::-;-1:-1:-1;;;;;1825:46:26;;;:22;;;;;;;;;:46;1881:11;;:106;;-1:-1:-1;;;1881:106:26;;:11;;;:23;;:106;;1918:26;;1958:19;;1881:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1997:53;2006:11;;;;;;;;;-1:-1:-1;;;;;2006:11:26;-1:-1:-1;;;;;2006:38:26;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2048:1;1997:8;:53::i;:::-;1445:612;;1408:649::o;1819:584:0:-;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2990:42;2978:55;3059:16;1980:374;;2196:43;;;1671:64;2196:43;;;5752:51:30;;;-1:-1:-1;;;5819:18:30;;;5812:34;2196:43:0;;;;;;;;;5725:18:30;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:0;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;3255:157::-;3315:9;3310:96;;3345:30;;;;;8462:2:30;8444:21;;;8501:2;8481:18;;;8474:30;8540:25;8535:2;8520:18;;8513:53;8598:2;8583:18;;8260:347;3345:30:0;;;;;;;;3389:6;:4;:6::i;:::-;3255:157;:::o;5202:262::-;5264:1;5259;:6;5255:203;;5286:41;;;;;8814:2:30;8796:21;;;8853:2;8833:18;;;8826:30;8892:34;8887:2;8872:18;;8865:62;-1:-1:-1;;;8958:2:30;8943:18;;8936:32;9000:3;8985:19;;8612:398;5286:41:0;;;;;;;;5346:31;;;9227:21:30;;;9284:2;9264:18;;;9257:30;-1:-1:-1;;;9318:2:30;9303:18;;9296:40;9403:4;9388:20;;9381:36;;;5346:31:0;;;;;;;9368:3:30;5346:31:0;;;5396;;;9640:21:30;;;9697:2;9677:18;;;9670:30;-1:-1:-1;;;9731:2:30;9716:18;;9709:40;9816:4;9801:20;;9794:36;;;5396:31:0;;;;;;;9781:3:30;5396:31:0;;;5441:6;2410:424;2990:42;2978:55;3059:16;2445:359;;2645:67;;;1671:64;2645:67;;;10043:51:30;;;-1:-1:-1;;;10110:18:30;;;10103:34;;;;2705:4:0;10153:18:30;;;10146:34;2482:11:0;;1671:64;2579:43;;10016:18:30;;2645:67:0;;;-1:-1:-1;;2645:67:0;;;;;;;;;;2534:196;;;2645:67;2534:196;;:::i;:::-;;;;-1:-1:-1;;2534:196:0;;;;;;;;;;2499:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:0;2813:7;:14;;-1:-1:-1;;2813:14:0;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;900:127:30:-;961:10;956:3;952:20;949:1;942:31;992:4;989:1;982:15;1016:4;1013:1;1006:15;1141:461;1194:3;1232:5;1226:12;1259:6;1254:3;1247:19;1285:4;1314:2;1309:3;1305:12;1298:19;;1351:2;1344:5;1340:14;1372:1;1382:195;1396:6;1393:1;1390:13;1382:195;;;1461:13;;-1:-1:-1;;;;;1457:39:30;1445:52;;1517:12;;;;1552:15;;;;1493:1;1411:9;1382:195;;;-1:-1:-1;1593:3:30;;1141:461;-1:-1:-1;;;;;1141:461:30:o;1607:435::-;1660:3;1698:5;1692:12;1725:6;1720:3;1713:19;1751:4;1780:2;1775:3;1771:12;1764:19;;1817:2;1810:5;1806:14;1838:1;1848:169;1862:6;1859:1;1856:13;1848:169;;;1923:13;;1911:26;;1957:12;;;;1992:15;;;;1884:1;1877:9;1848:169;;2047:250;2132:1;2142:113;2156:6;2153:1;2150:13;2142:113;;;2232:11;;;2226:18;2213:11;;;2206:39;2178:2;2171:10;2142:113;;;-1:-1:-1;;2289:1:30;2271:16;;2264:27;2047:250::o;2302:271::-;2344:3;2382:5;2376:12;2409:6;2404:3;2397:19;2425:76;2494:6;2487:4;2482:3;2478:14;2471:4;2464:5;2460:16;2425:76;:::i;:::-;2555:2;2534:15;-1:-1:-1;;2530:29:30;2521:39;;;;2562:4;2517:50;;2302:271;-1:-1:-1;;2302:271:30:o;2578:2529::-;2887:6;2876:9;2869:25;2930:3;2925:2;2914:9;2910:18;2903:31;2850:4;2969:6;2963:13;2995:6;3038:2;3032:3;3021:9;3017:19;3010:31;3064:63;3122:3;3111:9;3107:19;3093:12;3064:63;:::i;:::-;3050:77;;3176:2;3168:6;3164:15;3158:22;3203:3;3199:8;3272:2;3260:9;3252:6;3248:22;3244:31;3238:3;3227:9;3223:19;3216:60;3299:52;3344:6;3328:14;3299:52;:::i;:::-;3285:66;;3400:4;3392:6;3388:17;3382:24;3360:46;;3471:2;3459:9;3451:6;3447:22;3443:31;3437:3;3426:9;3422:19;3415:60;3498:52;3543:6;3527:14;3498:52;:::i;:::-;3484:66;;3599:4;3591:6;3587:17;3581:24;3559:46;;3670:2;3658:9;3650:6;3646:22;3642:31;3636:3;3625:9;3621:19;3614:60;3697:52;3742:6;3726:14;3697:52;:::i;:::-;3683:66;;3798:3;3790:6;3786:16;3780:23;3758:45;;3822:3;3889:2;3877:9;3869:6;3865:22;3861:31;3856:2;3845:9;3841:18;3834:59;3916:52;3961:6;3945:14;3916:52;:::i;:::-;3902:66;;4005:3;3997:6;3993:16;3987:23;3977:33;;4029:3;4068:2;4063;4052:9;4048:18;4041:30;4108:3;4100:6;4096:16;4090:23;4080:33;;4132:3;4171:2;4166;4155:9;4151:18;4144:30;4223:3;4215:6;4211:16;4205:23;4183:45;;4247:3;4259:51;4306:2;4295:9;4291:18;4275:14;313:13;306:21;294:34;;243:91;4259:51;4347:15;;;4341:22;;-1:-1:-1;4382:3:30;;4394:51;4426:18;;;4341:22;313:13;306:21;294:34;;243:91;4394:51;4482:15;;;4476:22;;-1:-1:-1;4518:3:30;;4530:52;4562:19;;;4476:22;313:13;306:21;294:34;;243:91;4530:52;4624:15;;;4618:22;4598:18;;;4591:50;;;;4678:15;;;4672:22;-1:-1:-1;;;;;1098:31:30;4753:3;4738:19;;1086:44;4801:15;;4795:22;4789:3;4774:19;;4767:51;4855:16;;;4849:23;4913:22;;;4909:31;;;4903:3;4888:19;;4881:60;-1:-1:-1;4958:41:30;4913:22;4849:23;4958:41;:::i;:::-;4950:49;;;;5037:6;5030:4;5019:9;5015:20;5008:36;5053:48;5095:4;5084:9;5080:20;5072:6;-1:-1:-1;;;;;1098:31:30;1086:44;;1032:104;5053:48;2578:2529;;;;;;;:::o;6065:277::-;6132:6;6185:2;6173:9;6164:7;6160:23;6156:32;6153:52;;;6201:1;6198;6191:12;6153:52;6233:9;6227:16;6286:5;6279:13;6272:21;6265:5;6262:32;6252:60;;6308:1;6305;6298:12;6252:60;6331:5;6065:277;-1:-1:-1;;;6065:277:30:o;6347:759::-;-1:-1:-1;;;;;6633:15:30;;;6615:34;;6565:2;6668;6686:18;;;6679:30;;;6758:13;;6550:18;;;6780:22;;;6517:4;;6859:15;;;;6587:19;;6668:2;6833;6818:18;;;6517:4;6902:178;6916:6;6913:1;6910:13;6902:178;;;6981:13;;6977:22;;6965:35;;7055:15;;;;7020:12;;;;6938:1;6931:9;6902:178;;;-1:-1:-1;7097:3:30;;6347:759;-1:-1:-1;;;;;;;;6347:759:30:o;7111:184::-;7181:6;7234:2;7222:9;7213:7;7209:23;7205:32;7202:52;;;7250:1;7247;7240:12;7202:52;-1:-1:-1;7273:16:30;;7111:184;-1:-1:-1;7111:184:30:o;7579:384::-;-1:-1:-1;;;;;;7764:33:30;;7752:46;;7821:13;;7734:3;;7843:74;7821:13;7906:1;7897:11;;7890:4;7878:17;;7843:74;:::i;:::-;7937:16;;;;7955:1;7933:24;;7579:384;-1:-1:-1;;;7579:384:30:o;7968:287::-;8097:3;8135:6;8129:13;8151:66;8210:6;8205:3;8198:4;8190:6;8186:17;8151:66;:::i;:::-;8233:16;;;;;7968:287;-1:-1:-1;;7968:287:30:o",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "IS_TEST()": "fa7626d4",
    "dummyOracleDelegate()": "d9e3f00e",
    "failed()": "ba414fa6",
    "pepperStake()": "160c0c23",
    "setUp()": "0a9254e4",
    "testOracleDelegate()": "27bd1297"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dummyOracleDelegate\",\"outputs\":[{\"internalType\":\"contract DummyOracleDelegate\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pepperStake\",\"outputs\":[{\"internalType\":\"contract PepperStake\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOracleDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/PepperStakeOracleDelegate.t.sol\":\"PepperStakeOracleTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@prb/contracts/=lib/prb-contracts/src/\",\":@prb/math/=lib/prb-contracts/lib/prb-math/contracts/\",\":@prb/test/=lib/prb-contracts/lib/prb-test/src/\",\":ds-test/=lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-contracts/=lib/prb-contracts/src/\",\":prb-math/=lib/prb-contracts/lib/prb-math/contracts/\",\":prb-test/=lib/prb-contracts/lib/prb-test/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Common.sol\":{\"keccak256\":\"0x3ed7f49e907eaf339c3bb0b79a81d303d0f9e37aa5b8a9854c0cbfc3ad9a3ef0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01c2532fb5fea32c6dc165518f2c4918af25d9139d17c11da330414c9797a70b\",\"dweb:/ipfs/QmV4r8a1e9Rgu2xoigVCuSv3fZ737wD2DXbV6ZmHXVUtDn\"]},\"lib/forge-std/src/Components.sol\":{\"keccak256\":\"0xd3b8ba6df58174d5d650a668dfa49eeee28b2b855514b9e793e1c0b69d747149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce2b2ca79d5ce993b91358ed3d588396295e0aba9bb923481c1ffa5058a0dcd\",\"dweb:/ipfs/QmPNymteQmLWk7SqQhNsF6Rbc3xFPY7xGb4fBKravHLXD3\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd2ac402483b70ead6e053993c03253a9d7d6b437a981b7a0158c4748abf202f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f662716875766eb46d34de4949bfb79ca6c408054f004fff0b2fc23d967182f8\",\"dweb:/ipfs/QmeNGCZBnSDjK7djHuGJ34kV2rNh8SL69SJTjR1PEsgJi1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x9e421049151727ad09416e8d85e9bab277971f2ff750f230f50ef3c22ee40532\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8309e82f8020f4936d10b800b6166b28c4ea21b6f25d670b6735bd5d664ded3\",\"dweb:/ipfs/QmQP9d7uDsUGypHuc5LCd8zD4TsmvSqRUEqX2npMo6NLiQ\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xce189d25fa333ca6611c0d24a16482df6256420764c747e783e60cf9f28c922e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0237b62ace5fe2311343eb32299b2f1cf0177394d9826eae23f1d1f92ae31f09\",\"dweb:/ipfs/QmVxvdgnheCWjBqE75nvapSKSr3UPRLrZQzxjcf5vxDmE2\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a\",\"dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xdfdea2fc16ca475b82c74ef8a1ee50249a086ea3e1d7dcb2fc5b507f2b69500b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e68c4ac142bfdcacfc1a3ffadb63e67213464be620b277586ccf74605ccc33d3\",\"dweb:/ipfs/QmXAiLV8LT4h4z6x1xc88BfJpkddSdGtQkBbtPf441MCqi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x1d048e702d241727d75685d7516b51b72ff23513f6e2193e569f0fbc2a9112ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://089652ff5d0bb1093f684863b3def0a505edb9c6fd533f8bceb1f12ce833c90e\",\"dweb:/ipfs/QmccjqbH8guWaVDi3QAEirMMs45XF3VV68dwBa5xwnFL1k\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x2d0cec0827a5ee9df571cde75cb742f8b977218283739e163801baa8c34439f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310afde56e845d7f36ca7ce191715038f8259d7a9250c171689744a797223556\",\"dweb:/ipfs/QmULG8AwNa5B64EMUSCwG1bAyJJK1sodAsAYvjk3vXbgMj\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa\",\"dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD\"]},\"lib/prb-contracts/lib/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xe981069ba1d98749de50dec3983d023a996575d2e7e983f9eb4a33601f655766\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://2804382c50036b38925399624a1a271b50f77ac5476d93fa703266bb60e70de8\",\"dweb:/ipfs/QmXbw6xZc3tBt8MEwSymL9H842xPcnHVu9pwNzf5wAgCoH\"]},\"lib/prb-contracts/src/math/PRBMath.sol\":{\"keccak256\":\"0x4a7bb95f286e312398056763caf966e52e65c1e3a6c1f27ee0e68d7b9021e3ea\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://10063e5b76fd2c63f8a260e6e76a186256bf1808c743a35c6fd0c004c4018653\",\"dweb:/ipfs/QmddD2Je4MEVJxcy1UiuZAM7VxmJT3B6oMhqXP4oBiAkFq\"]},\"src/PepperStake.sol\":{\"keccak256\":\"0xaa53229ab9467f9b10891594999c6f18429533c4db3d1eee4e8cb709ed2005da\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3f8590d71fbbcfeb4a7ec5aad5b4f214d4e0d1b3db7bb7d12db7b6b75b5eb9ab\",\"dweb:/ipfs/QmUxDz8TuM54whDJTTVYECsYwGroQ82SNb93QRnQuCUjsc\"]},\"src/PepperStakeDeployer.sol\":{\"keccak256\":\"0xf86fbeb4d3374e5a7cf66846035ad177da6ba2720f66bf9ed2e0a0b6768d9c76\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0e9755c073cb18af0b1f80084dbcd1eb29f9f2fe33d3f579feba21161103ca67\",\"dweb:/ipfs/QmSN2v6UVXrhpzMZC6ymaTKNpwU6pVCNng1qAqchPqKm8F\"]},\"src/interfaces/IPepperStake.sol\":{\"keccak256\":\"0xc6ac6776d6271d2a2bb1818740c8e72f899427434d91af0767b3426515dfb510\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://d05b3690f9aca46f1cad78a14f43dbcaf7897ed1b1ffa3665e068c96f4a928e5\",\"dweb:/ipfs/QmdD6tMj2wsspNuSbq611xxkrRtgaRBavnF533uw3y9eiN\"]},\"src/interfaces/IPepperStakeDeployer.sol\":{\"keccak256\":\"0xbe55346c40c19276efe70d3b5556f4b759c5a7f987e256efec8fa17de61d77e8\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://696b1eeb54fd87caf2c9dacf3e76cc1c40fc481cf10e656609e74c806039448a\",\"dweb:/ipfs/QmSExxJyzfKDyhA9U3BRoQAkKmGxq26njoxB738gJ4uixp\"]},\"src/interfaces/IPepperStakeOracleDelegate.sol\":{\"keccak256\":\"0x3321ae9d7b6a6393e9915163476d1f6431fb942da3fd56af5acc244293b4c4b5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b0146ab1d43908105a2bd535d911304d9c6b27d51868a75c2aeb79bdf9bad3d3\",\"dweb:/ipfs/QmS8nQGXmyPqWqd9peS2amNxjRqMJ3DB6SGiFzarkARJqM\"]},\"src/structs/LaunchPepperStakeData.sol\":{\"keccak256\":\"0x68ebed60b6f6358bbe49c306e12e97ae7180d8a1c5c5174f8c3ead240aaef28f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://4d77a2e64c6d3641e697b71a6edee2a909a410f45f2c49cd90d2dba128a4d7ea\",\"dweb:/ipfs/QmNydFUjCzvadvAtbKYpmJfCsWBG6K1naxzhqbk3BqjUp2\"]},\"src/structs/Participant.sol\":{\"keccak256\":\"0x6b444aa2c6968f7214d775467f0990d540682698b04409f09008ae6435023ea2\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a4c9e6bccbacf6f5bd327a0fec96a9dcbb52110de052f428796a47032df45fc8\",\"dweb:/ipfs/QmPVTJq28H7RGnNGSkdCgC5iqKCceh2hSNcebmripcfhEG\"]},\"test/PepperStakeOracleDelegate.t.sol\":{\"keccak256\":\"0x230dcf47b02929d67561b682979710b9da5ab92c32351e3ead2a49c74612762e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://afccd19dc6f705b93bfcd4f54164b0a5d76c1f00e07187222161a713fd7dcd70\",\"dweb:/ipfs/QmexWz3cmrrR5x9Kc3XMBpjoQdDQJp53BsvvpGzNDL9eS2\"]},\"test/mock/DummyOracleDelegate.sol\":{\"keccak256\":\"0x2a32052cbf73b0b3148c37a81792895b6e6bd7e70f152e45aacd9bad83db62c3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://d2ba2b596f0e2e999386432665380d6a295d60702d4098b27f802abec2f82b9f\",\"dweb:/ipfs/QmNuUrnT2biQabRyAqqmLVw5FjBAWM1yu4LE5cjYJCkjHe\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.17+commit.8df45f5f"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_address",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "uint256[]",
              "name": "val",
              "type": "uint256[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "int256[]",
              "name": "val",
              "type": "int256[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address[]",
              "name": "val",
              "type": "address[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes",
              "name": "",
              "type": "bytes",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_bytes",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_bytes32",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "int256",
              "name": "",
              "type": "int256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_int",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "val",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_address",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "uint256[]",
              "name": "val",
              "type": "uint256[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "int256[]",
              "name": "val",
              "type": "int256[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "address[]",
              "name": "val",
              "type": "address[]",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_array",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "bytes",
              "name": "val",
              "type": "bytes",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_bytes",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "bytes32",
              "name": "val",
              "type": "bytes32",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_bytes32",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "int256",
              "name": "val",
              "type": "int256",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "decimals",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_decimal_int",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "val",
              "type": "uint256",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "decimals",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_decimal_uint",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "int256",
              "name": "val",
              "type": "int256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_int",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "string",
              "name": "val",
              "type": "string",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_string",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "key",
              "type": "string",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "val",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_named_uint",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_string",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "log_uint",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes",
              "name": "",
              "type": "bytes",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "logs",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "IS_TEST",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "dummyOracleDelegate",
          "outputs": [
            {
              "internalType": "contract DummyOracleDelegate",
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "failed",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "pepperStake",
          "outputs": [
            {
              "internalType": "contract PepperStake",
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setUp"
        },
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "testOracleDelegate"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        ":@prb/contracts/=lib/prb-contracts/src/",
        ":@prb/math/=lib/prb-contracts/lib/prb-math/contracts/",
        ":@prb/test/=lib/prb-contracts/lib/prb-test/src/",
        ":ds-test/=lib/ds-test/src/",
        ":forge-std/=lib/forge-std/src/",
        ":prb-contracts/=lib/prb-contracts/src/",
        ":prb-math/=lib/prb-contracts/lib/prb-math/contracts/",
        ":prb-test/=lib/prb-contracts/lib/prb-test/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "test/PepperStakeOracleDelegate.t.sol": "PepperStakeOracleTest"
      },
      "libraries": {}
    },
    "sources": {
      "lib/forge-std/lib/ds-test/src/test.sol": {
        "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54",
        "urls": [
          "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5",
          "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr"
        ],
        "license": "GPL-3.0-or-later"
      },
      "lib/forge-std/src/Common.sol": {
        "keccak256": "0x3ed7f49e907eaf339c3bb0b79a81d303d0f9e37aa5b8a9854c0cbfc3ad9a3ef0",
        "urls": [
          "bzz-raw://01c2532fb5fea32c6dc165518f2c4918af25d9139d17c11da330414c9797a70b",
          "dweb:/ipfs/QmV4r8a1e9Rgu2xoigVCuSv3fZ737wD2DXbV6ZmHXVUtDn"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/Components.sol": {
        "keccak256": "0xd3b8ba6df58174d5d650a668dfa49eeee28b2b855514b9e793e1c0b69d747149",
        "urls": [
          "bzz-raw://cce2b2ca79d5ce993b91358ed3d588396295e0aba9bb923481c1ffa5058a0dcd",
          "dweb:/ipfs/QmPNymteQmLWk7SqQhNsF6Rbc3xFPY7xGb4fBKravHLXD3"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdAssertions.sol": {
        "keccak256": "0xd2ac402483b70ead6e053993c03253a9d7d6b437a981b7a0158c4748abf202f5",
        "urls": [
          "bzz-raw://f662716875766eb46d34de4949bfb79ca6c408054f004fff0b2fc23d967182f8",
          "dweb:/ipfs/QmeNGCZBnSDjK7djHuGJ34kV2rNh8SL69SJTjR1PEsgJi1"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdCheats.sol": {
        "keccak256": "0x9e421049151727ad09416e8d85e9bab277971f2ff750f230f50ef3c22ee40532",
        "urls": [
          "bzz-raw://d8309e82f8020f4936d10b800b6166b28c4ea21b6f25d670b6735bd5d664ded3",
          "dweb:/ipfs/QmQP9d7uDsUGypHuc5LCd8zD4TsmvSqRUEqX2npMo6NLiQ"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdError.sol": {
        "keccak256": "0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77",
        "urls": [
          "bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6",
          "dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdJson.sol": {
        "keccak256": "0xce189d25fa333ca6611c0d24a16482df6256420764c747e783e60cf9f28c922e",
        "urls": [
          "bzz-raw://0237b62ace5fe2311343eb32299b2f1cf0177394d9826eae23f1d1f92ae31f09",
          "dweb:/ipfs/QmVxvdgnheCWjBqE75nvapSKSr3UPRLrZQzxjcf5vxDmE2"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdMath.sol": {
        "keccak256": "0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2",
        "urls": [
          "bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92",
          "dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdStorage.sol": {
        "keccak256": "0xb0da85ce6999940eba6190a26c15b9bc7aede57123891287e1b30f80333a9cf5",
        "urls": [
          "bzz-raw://d287fd41de40ef992588f7a9531e66d1e9f8e4f3f194b9e721ac576d4613964a",
          "dweb:/ipfs/QmbFYYjoc8WGLKVfDe4rscYPwdGq48incbwRQNoLtcMMjn"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/StdUtils.sol": {
        "keccak256": "0xdfdea2fc16ca475b82c74ef8a1ee50249a086ea3e1d7dcb2fc5b507f2b69500b",
        "urls": [
          "bzz-raw://e68c4ac142bfdcacfc1a3ffadb63e67213464be620b277586ccf74605ccc33d3",
          "dweb:/ipfs/QmXAiLV8LT4h4z6x1xc88BfJpkddSdGtQkBbtPf441MCqi"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/Test.sol": {
        "keccak256": "0x1d048e702d241727d75685d7516b51b72ff23513f6e2193e569f0fbc2a9112ad",
        "urls": [
          "bzz-raw://089652ff5d0bb1093f684863b3def0a505edb9c6fd533f8bceb1f12ce833c90e",
          "dweb:/ipfs/QmccjqbH8guWaVDi3QAEirMMs45XF3VV68dwBa5xwnFL1k"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/Vm.sol": {
        "keccak256": "0x2d0cec0827a5ee9df571cde75cb742f8b977218283739e163801baa8c34439f6",
        "urls": [
          "bzz-raw://310afde56e845d7f36ca7ce191715038f8259d7a9250c171689744a797223556",
          "dweb:/ipfs/QmULG8AwNa5B64EMUSCwG1bAyJJK1sodAsAYvjk3vXbgMj"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/console.sol": {
        "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba",
        "urls": [
          "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70",
          "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"
        ],
        "license": "MIT"
      },
      "lib/forge-std/src/console2.sol": {
        "keccak256": "0x225cc1ec33efd35c90e78aec0792ed9751cd6217e646271172421e96e2e2cc0f",
        "urls": [
          "bzz-raw://6c6adbd216e40ca2387835b8618c82e7153cb826023d38943bbb0c2e992644aa",
          "dweb:/ipfs/QmZeejwEkm7iH9NHih7dPbuNqivuFn27EkgJesgByzS9wD"
        ],
        "license": "MIT"
      },
      "lib/prb-contracts/lib/prb-math/contracts/PRBMath.sol": {
        "keccak256": "0xe981069ba1d98749de50dec3983d023a996575d2e7e983f9eb4a33601f655766",
        "urls": [
          "bzz-raw://2804382c50036b38925399624a1a271b50f77ac5476d93fa703266bb60e70de8",
          "dweb:/ipfs/QmXbw6xZc3tBt8MEwSymL9H842xPcnHVu9pwNzf5wAgCoH"
        ],
        "license": "Unlicense"
      },
      "lib/prb-contracts/src/math/PRBMath.sol": {
        "keccak256": "0x4a7bb95f286e312398056763caf966e52e65c1e3a6c1f27ee0e68d7b9021e3ea",
        "urls": [
          "bzz-raw://10063e5b76fd2c63f8a260e6e76a186256bf1808c743a35c6fd0c004c4018653",
          "dweb:/ipfs/QmddD2Je4MEVJxcy1UiuZAM7VxmJT3B6oMhqXP4oBiAkFq"
        ],
        "license": "Unlicense"
      },
      "src/PepperStake.sol": {
        "keccak256": "0xaa53229ab9467f9b10891594999c6f18429533c4db3d1eee4e8cb709ed2005da",
        "urls": [
          "bzz-raw://3f8590d71fbbcfeb4a7ec5aad5b4f214d4e0d1b3db7bb7d12db7b6b75b5eb9ab",
          "dweb:/ipfs/QmUxDz8TuM54whDJTTVYECsYwGroQ82SNb93QRnQuCUjsc"
        ],
        "license": "UNLICENSED"
      },
      "src/PepperStakeDeployer.sol": {
        "keccak256": "0xf86fbeb4d3374e5a7cf66846035ad177da6ba2720f66bf9ed2e0a0b6768d9c76",
        "urls": [
          "bzz-raw://0e9755c073cb18af0b1f80084dbcd1eb29f9f2fe33d3f579feba21161103ca67",
          "dweb:/ipfs/QmSN2v6UVXrhpzMZC6ymaTKNpwU6pVCNng1qAqchPqKm8F"
        ],
        "license": "UNLICENSED"
      },
      "src/interfaces/IPepperStake.sol": {
        "keccak256": "0xc6ac6776d6271d2a2bb1818740c8e72f899427434d91af0767b3426515dfb510",
        "urls": [
          "bzz-raw://d05b3690f9aca46f1cad78a14f43dbcaf7897ed1b1ffa3665e068c96f4a928e5",
          "dweb:/ipfs/QmdD6tMj2wsspNuSbq611xxkrRtgaRBavnF533uw3y9eiN"
        ],
        "license": "UNLICENSED"
      },
      "src/interfaces/IPepperStakeDeployer.sol": {
        "keccak256": "0xbe55346c40c19276efe70d3b5556f4b759c5a7f987e256efec8fa17de61d77e8",
        "urls": [
          "bzz-raw://696b1eeb54fd87caf2c9dacf3e76cc1c40fc481cf10e656609e74c806039448a",
          "dweb:/ipfs/QmSExxJyzfKDyhA9U3BRoQAkKmGxq26njoxB738gJ4uixp"
        ],
        "license": "UNLICENSED"
      },
      "src/interfaces/IPepperStakeOracleDelegate.sol": {
        "keccak256": "0x3321ae9d7b6a6393e9915163476d1f6431fb942da3fd56af5acc244293b4c4b5",
        "urls": [
          "bzz-raw://b0146ab1d43908105a2bd535d911304d9c6b27d51868a75c2aeb79bdf9bad3d3",
          "dweb:/ipfs/QmS8nQGXmyPqWqd9peS2amNxjRqMJ3DB6SGiFzarkARJqM"
        ],
        "license": "UNLICENSED"
      },
      "src/structs/LaunchPepperStakeData.sol": {
        "keccak256": "0x68ebed60b6f6358bbe49c306e12e97ae7180d8a1c5c5174f8c3ead240aaef28f",
        "urls": [
          "bzz-raw://4d77a2e64c6d3641e697b71a6edee2a909a410f45f2c49cd90d2dba128a4d7ea",
          "dweb:/ipfs/QmNydFUjCzvadvAtbKYpmJfCsWBG6K1naxzhqbk3BqjUp2"
        ],
        "license": "UNLICENSED"
      },
      "src/structs/Participant.sol": {
        "keccak256": "0x6b444aa2c6968f7214d775467f0990d540682698b04409f09008ae6435023ea2",
        "urls": [
          "bzz-raw://a4c9e6bccbacf6f5bd327a0fec96a9dcbb52110de052f428796a47032df45fc8",
          "dweb:/ipfs/QmPVTJq28H7RGnNGSkdCgC5iqKCceh2hSNcebmripcfhEG"
        ],
        "license": "UNLICENSED"
      },
      "test/PepperStakeOracleDelegate.t.sol": {
        "keccak256": "0x230dcf47b02929d67561b682979710b9da5ab92c32351e3ead2a49c74612762e",
        "urls": [
          "bzz-raw://afccd19dc6f705b93bfcd4f54164b0a5d76c1f00e07187222161a713fd7dcd70",
          "dweb:/ipfs/QmexWz3cmrrR5x9Kc3XMBpjoQdDQJp53BsvvpGzNDL9eS2"
        ],
        "license": "UNLICENSED"
      },
      "test/mock/DummyOracleDelegate.sol": {
        "keccak256": "0x2a32052cbf73b0b3148c37a81792895b6e6bd7e70f152e45aacd9bad83db62c3",
        "urls": [
          "bzz-raw://d2ba2b596f0e2e999386432665380d6a295d60702d4098b27f802abec2f82b9f",
          "dweb:/ipfs/QmNuUrnT2biQabRyAqqmLVw5FjBAWM1yu4LE5cjYJCkjHe"
        ],
        "license": "UNLICENSED"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "test/PepperStakeOracleDelegate.t.sol",
    "id": 28068,
    "exportedSymbols": {
      "CommonBase": [
        1818
      ],
      "DSTest": [
        1786
      ],
      "DummyOracleDelegate": [
        30479
      ],
      "IPepperStake": [
        27651
      ],
      "IPepperStakeDeployer": [
        27679
      ],
      "IPepperStakeOracleDelegate": [
        27694
      ],
      "LaunchPepperStakeData": [
        27730
      ],
      "PRBMath": [
        26338
      ],
      "Participant": [
        27741
      ],
      "PepperStake": [
        27480
      ],
      "PepperStakeDeployer": [
        27546
      ],
      "PepperStakeOracleTest": [
        28067
      ],
      "StdAssertions": [
        2677
      ],
      "StdCheats": [
        5073
      ],
      "StdStorage": [
        5672
      ],
      "StdUtils": [
        7501
      ],
      "Test": [
        7532
      ],
      "TestBase": [
        7521
      ],
      "Vm": [
        8315
      ],
      "console": [
        16379
      ],
      "console2": [
        24444
      ],
      "stdError": [
        5139
      ],
      "stdJson": [
        5499
      ],
      "stdMath": [
        5641
      ],
      "stdStorage": [
        7106
      ]
    },
    "nodeType": "SourceUnit",
    "src": "39:2021:26",
    "nodes": [
      {
        "id": 27858,
        "nodeType": "PragmaDirective",
        "src": "39:24:26",
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".13"
        ]
      },
      {
        "id": 27859,
        "nodeType": "ImportDirective",
        "src": "65:28:26",
        "absolutePath": "lib/forge-std/src/Test.sol",
        "file": "forge-std/Test.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 7533,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 27860,
        "nodeType": "ImportDirective",
        "src": "94:40:26",
        "absolutePath": "src/PepperStakeDeployer.sol",
        "file": "../src/PepperStakeDeployer.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 27547,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 27861,
        "nodeType": "ImportDirective",
        "src": "135:44:26",
        "absolutePath": "src/interfaces/IPepperStake.sol",
        "file": "../src/interfaces/IPepperStake.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 27652,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 27862,
        "nodeType": "ImportDirective",
        "src": "180:58:26",
        "absolutePath": "src/interfaces/IPepperStakeOracleDelegate.sol",
        "file": "../src/interfaces/IPepperStakeOracleDelegate.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 27695,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 27863,
        "nodeType": "ImportDirective",
        "src": "239:50:26",
        "absolutePath": "src/structs/LaunchPepperStakeData.sol",
        "file": "../src/structs/LaunchPepperStakeData.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 27731,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 27864,
        "nodeType": "ImportDirective",
        "src": "290:40:26",
        "absolutePath": "test/mock/DummyOracleDelegate.sol",
        "file": "./mock/DummyOracleDelegate.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 28068,
        "sourceUnit": 30480,
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "id": 28067,
        "nodeType": "ContractDefinition",
        "src": "332:1727:26",
        "nodes": [
          {
            "id": 27869,
            "nodeType": "VariableDeclaration",
            "src": "377:30:26",
            "constant": false,
            "functionSelector": "160c0c23",
            "mutability": "mutable",
            "name": "pepperStake",
            "nameLocation": "396:11:26",
            "scope": 28067,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_PepperStake_$27480",
              "typeString": "contract PepperStake"
            },
            "typeName": {
              "id": 27868,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 27867,
                "name": "PepperStake",
                "nameLocations": [
                  "377:11:26"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 27480,
                "src": "377:11:26"
              },
              "referencedDeclaration": 27480,
              "src": "377:11:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_PepperStake_$27480",
                "typeString": "contract PepperStake"
              }
            },
            "visibility": "public"
          },
          {
            "id": 27872,
            "nodeType": "VariableDeclaration",
            "src": "413:46:26",
            "constant": false,
            "functionSelector": "d9e3f00e",
            "mutability": "mutable",
            "name": "dummyOracleDelegate",
            "nameLocation": "440:19:26",
            "scope": 28067,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
              "typeString": "contract DummyOracleDelegate"
            },
            "typeName": {
              "id": 27871,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 27870,
                "name": "DummyOracleDelegate",
                "nameLocations": [
                  "413:19:26"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 30479,
                "src": "413:19:26"
              },
              "referencedDeclaration": 30479,
              "src": "413:19:26",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                "typeString": "contract DummyOracleDelegate"
              }
            },
            "visibility": "public"
          },
          {
            "id": 27883,
            "nodeType": "VariableDeclaration",
            "src": "465:74:26",
            "constant": false,
            "mutability": "mutable",
            "name": "_participant",
            "nameLocation": "482:12:26",
            "scope": 28067,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 27873,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "465:7:26",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "arguments": [
                {
                  "arguments": [
                    {
                      "arguments": [
                        {
                          "hexValue": "7061727469636970616e74",
                          "id": 27879,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "523:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_89ac24e9d325e5935dd9098bddc7f9879a6b0e297f7e2423d271ca0fed835edb",
                            "typeString": "literal_string \"participant\""
                          },
                          "value": "participant"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_stringliteral_89ac24e9d325e5935dd9098bddc7f9879a6b0e297f7e2423d271ca0fed835edb",
                            "typeString": "literal_string \"participant\""
                          }
                        ],
                        "id": 27878,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -8,
                        "src": "513:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 27880,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "513:24:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    ],
                    "id": 27877,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "505:7:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_bytes20_$",
                      "typeString": "type(bytes20)"
                    },
                    "typeName": {
                      "id": 27876,
                      "name": "bytes20",
                      "nodeType": "ElementaryTypeName",
                      "src": "505:7:26",
                      "typeDescriptions": {}
                    }
                  },
                  "id": 27881,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "nameLocations": [],
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "505:33:26",
                  "tryCall": false,
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes20",
                    "typeString": "bytes20"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes20",
                    "typeString": "bytes20"
                  }
                ],
                "id": 27875,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "497:7:26",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": {
                  "id": 27874,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "497:7:26",
                  "typeDescriptions": {}
                }
              },
              "id": 27882,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "nameLocations": [],
              "names": [],
              "nodeType": "FunctionCall",
              "src": "497:42:26",
              "tryCall": false,
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "internal"
          },
          {
            "id": 27994,
            "nodeType": "FunctionDefinition",
            "src": "546:856:26",
            "body": {
              "id": 27993,
              "nodeType": "Block",
              "src": "570:832:26",
              "statements": [
                {
                  "expression": {
                    "id": 27891,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 27886,
                      "name": "dummyOracleDelegate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 27872,
                      "src": "580:19:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                        "typeString": "contract DummyOracleDelegate"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 27889,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "602:23:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_DummyOracleDelegate_$30479_$",
                          "typeString": "function () returns (contract DummyOracleDelegate)"
                        },
                        "typeName": {
                          "id": 27888,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 27887,
                            "name": "DummyOracleDelegate",
                            "nameLocations": [
                              "606:19:26"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 30479,
                            "src": "606:19:26"
                          },
                          "referencedDeclaration": 30479,
                          "src": "606:19:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                            "typeString": "contract DummyOracleDelegate"
                          }
                        }
                      },
                      "id": 27890,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "602:25:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                        "typeString": "contract DummyOracleDelegate"
                      }
                    },
                    "src": "580:47:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                      "typeString": "contract DummyOracleDelegate"
                    }
                  },
                  "id": 27892,
                  "nodeType": "ExpressionStatement",
                  "src": "580:47:26"
                },
                {
                  "assignments": [
                    27897
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 27897,
                      "mutability": "mutable",
                      "name": "oracleDelegates",
                      "nameLocation": "654:15:26",
                      "nodeType": "VariableDeclaration",
                      "scope": 27993,
                      "src": "637:32:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 27895,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "637:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 27896,
                        "nodeType": "ArrayTypeName",
                        "src": "637:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 27903,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 27901,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "686:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "id": 27900,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "672:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (address[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 27898,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "676:7:26",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 27899,
                        "nodeType": "ArrayTypeName",
                        "src": "676:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      }
                    },
                    "id": 27902,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "672:16:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "637:51:26"
                },
                {
                  "expression": {
                    "id": 27911,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 27904,
                        "name": "oracleDelegates",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27897,
                        "src": "698:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 27906,
                      "indexExpression": {
                        "hexValue": "30",
                        "id": 27905,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "714:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "698:18:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 27909,
                          "name": "dummyOracleDelegate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 27872,
                          "src": "727:19:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                            "typeString": "contract DummyOracleDelegate"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                            "typeString": "contract DummyOracleDelegate"
                          }
                        ],
                        "id": 27908,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "719:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 27907,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "719:7:26",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 27910,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "719:28:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "698:49:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 27912,
                  "nodeType": "ExpressionStatement",
                  "src": "698:49:26"
                },
                {
                  "assignments": [
                    27917
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 27917,
                      "mutability": "mutable",
                      "name": "stakingTiers",
                      "nameLocation": "775:12:26",
                      "nodeType": "VariableDeclaration",
                      "scope": 27993,
                      "src": "758:29:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                        "typeString": "uint256[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 27915,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "758:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 27916,
                        "nodeType": "ArrayTypeName",
                        "src": "758:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 27923,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 27921,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "804:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "id": 27920,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "790:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (uint256[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 27918,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "794:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 27919,
                        "nodeType": "ArrayTypeName",
                        "src": "794:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                          "typeString": "uint256[]"
                        }
                      }
                    },
                    "id": 27922,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "790:16:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                      "typeString": "uint256[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "758:48:26"
                },
                {
                  "expression": {
                    "id": 27928,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 27924,
                        "name": "stakingTiers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27917,
                        "src": "816:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 27926,
                      "indexExpression": {
                        "hexValue": "30",
                        "id": 27925,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "829:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "816:15:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "hexValue": "302e3035",
                      "id": 27927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "834:10:26",
                      "subdenomination": "ether",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_50000000000000000_by_1",
                        "typeString": "int_const 50000000000000000"
                      },
                      "value": "0.05"
                    },
                    "src": "816:28:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 27929,
                  "nodeType": "ExpressionStatement",
                  "src": "816:28:26"
                },
                {
                  "assignments": [
                    27932
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 27932,
                      "mutability": "mutable",
                      "name": "launchData",
                      "nameLocation": "884:10:26",
                      "nodeType": "VariableDeclaration",
                      "scope": 27993,
                      "src": "855:39:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_LaunchPepperStakeData_$27730_memory_ptr",
                        "typeString": "struct LaunchPepperStakeData"
                      },
                      "typeName": {
                        "id": 27931,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 27930,
                          "name": "LaunchPepperStakeData",
                          "nameLocations": [
                            "855:21:26"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 27730,
                          "src": "855:21:26"
                        },
                        "referencedDeclaration": 27730,
                        "src": "855:21:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_LaunchPepperStakeData_$27730_storage_ptr",
                          "typeString": "struct LaunchPepperStakeData"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 27964,
                  "initialValue": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 27937,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "946:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 27936,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "NewExpression",
                          "src": "932:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                            "typeString": "function (uint256) pure returns (address[] memory)"
                          },
                          "typeName": {
                            "baseType": {
                              "id": 27934,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "936:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 27935,
                            "nodeType": "ArrayTypeName",
                            "src": "936:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                              "typeString": "address[]"
                            }
                          }
                        },
                        "id": 27938,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "932:16:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 27942,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "976:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 27941,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "NewExpression",
                          "src": "962:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                            "typeString": "function (uint256) pure returns (address[] memory)"
                          },
                          "typeName": {
                            "baseType": {
                              "id": 27939,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "966:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 27940,
                            "nodeType": "ArrayTypeName",
                            "src": "966:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                              "typeString": "address[]"
                            }
                          }
                        },
                        "id": 27943,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "962:16:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 27947,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1006:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 27946,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "NewExpression",
                          "src": "992:13:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                            "typeString": "function (uint256) pure returns (address[] memory)"
                          },
                          "typeName": {
                            "baseType": {
                              "id": 27944,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "996:7:26",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "id": 27945,
                            "nodeType": "ArrayTypeName",
                            "src": "996:9:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                              "typeString": "address[]"
                            }
                          }
                        },
                        "id": 27948,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "992:16:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "id": 27949,
                        "name": "oracleDelegates",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27897,
                        "src": "1022:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      {
                        "id": 27950,
                        "name": "stakingTiers",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27917,
                        "src": "1051:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      {
                        "hexValue": "3134",
                        "id": 27951,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1077:7:26",
                        "subdenomination": "days",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1209600_by_1",
                          "typeString": "int_const 1209600"
                        },
                        "value": "14"
                      },
                      {
                        "hexValue": "313030",
                        "id": 27952,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1098:3:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100_by_1",
                          "typeString": "int_const 100"
                        },
                        "value": "100"
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 27953,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1115:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      },
                      {
                        "hexValue": "66616c7365",
                        "id": 27954,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1134:5:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "false"
                      },
                      {
                        "hexValue": "74727565",
                        "id": 27955,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1153:4:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      {
                        "hexValue": "30",
                        "id": 27956,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1171:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "hexValue": "30",
                            "id": 27959,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1194:1:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            }
                          ],
                          "id": 27958,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1186:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 27957,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "1186:7:26",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 27960,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1186:10:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "hexValue": "30",
                        "id": 27961,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1210:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "hexValue": "",
                        "id": 27962,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1225:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        },
                        "value": ""
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        },
                        {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        },
                        {
                          "typeIdentifier": "t_rational_1209600_by_1",
                          "typeString": "int_const 1209600"
                        },
                        {
                          "typeIdentifier": "t_rational_100_by_1",
                          "typeString": "int_const 100"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                          "typeString": "literal_string \"\""
                        }
                      ],
                      "id": 27933,
                      "name": "LaunchPepperStakeData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 27730,
                      "src": "897:21:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_LaunchPepperStakeData_$27730_storage_ptr_$",
                        "typeString": "type(struct LaunchPepperStakeData storage pointer)"
                      }
                    },
                    "id": 27963,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "897:340:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_LaunchPepperStakeData_$27730_memory_ptr",
                      "typeString": "struct LaunchPepperStakeData memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "855:382:26"
                },
                {
                  "expression": {
                    "id": 27977,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 27965,
                      "name": "pepperStake",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 27869,
                      "src": "1247:11:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PepperStake_$27480",
                        "typeString": "contract PepperStake"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "hexValue": "31",
                          "id": 27969,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1277:1:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        {
                          "id": 27970,
                          "name": "launchData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 27932,
                          "src": "1280:10:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_LaunchPepperStakeData_$27730_memory_ptr",
                            "typeString": "struct LaunchPepperStakeData memory"
                          }
                        },
                        {
                          "hexValue": "30",
                          "id": 27971,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1292:1:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        {
                          "arguments": [
                            {
                              "hexValue": "30",
                              "id": 27974,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1303:1:26",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 27973,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1295:7:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 27972,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1295:7:26",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 27975,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1295:10:26",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          {
                            "typeIdentifier": "t_struct$_LaunchPepperStakeData_$27730_memory_ptr",
                            "typeString": "struct LaunchPepperStakeData memory"
                          },
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 27968,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "1261:15:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_creation_payable$_t_uint256_$_t_struct$_LaunchPepperStakeData_$27730_memory_ptr_$_t_uint256_$_t_address_$returns$_t_contract$_PepperStake_$27480_$",
                          "typeString": "function (uint256,struct LaunchPepperStakeData memory,uint256,address) payable returns (contract PepperStake)"
                        },
                        "typeName": {
                          "id": 27967,
                          "nodeType": "UserDefinedTypeName",
                          "pathNode": {
                            "id": 27966,
                            "name": "PepperStake",
                            "nameLocations": [
                              "1265:11:26"
                            ],
                            "nodeType": "IdentifierPath",
                            "referencedDeclaration": 27480,
                            "src": "1265:11:26"
                          },
                          "referencedDeclaration": 27480,
                          "src": "1265:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_PepperStake_$27480",
                            "typeString": "contract PepperStake"
                          }
                        }
                      },
                      "id": 27976,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1261:45:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PepperStake_$27480",
                        "typeString": "contract PepperStake"
                      }
                    },
                    "src": "1247:59:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_PepperStake_$27480",
                      "typeString": "contract PepperStake"
                    }
                  },
                  "id": 27978,
                  "nodeType": "ExpressionStatement",
                  "src": "1247:59:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 27982,
                        "name": "_participant",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27883,
                        "src": "1325:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "hexValue": "7061727469636970616e74",
                        "id": 27983,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1339:13:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_89ac24e9d325e5935dd9098bddc7f9879a6b0e297f7e2423d271ca0fed835edb",
                          "typeString": "literal_string \"participant\""
                        },
                        "value": "participant"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_89ac24e9d325e5935dd9098bddc7f9879a6b0e297f7e2423d271ca0fed835edb",
                          "typeString": "literal_string \"participant\""
                        }
                      ],
                      "expression": {
                        "id": 27979,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1817,
                        "src": "1316:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 27981,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1319:5:26",
                      "memberName": "label",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7746,
                      "src": "1316:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,string memory) external"
                      }
                    },
                    "id": 27984,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1316:37:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 27985,
                  "nodeType": "ExpressionStatement",
                  "src": "1316:37:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 27989,
                        "name": "_participant",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27883,
                        "src": "1371:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "hexValue": "313030",
                        "id": 27990,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1385:9:26",
                        "subdenomination": "ether",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100000000000000000000_by_1",
                          "typeString": "int_const 100000000000000000000"
                        },
                        "value": "100"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_rational_100000000000000000000_by_1",
                          "typeString": "int_const 100000000000000000000"
                        }
                      ],
                      "expression": {
                        "id": 27986,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1817,
                        "src": "1363:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 27988,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1366:4:26",
                      "memberName": "deal",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8067,
                      "src": "1363:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 27991,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1363:32:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 27992,
                  "nodeType": "ExpressionStatement",
                  "src": "1363:32:26"
                }
              ]
            },
            "functionSelector": "0a9254e4",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setUp",
            "nameLocation": "555:5:26",
            "parameters": {
              "id": 27884,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "560:2:26"
            },
            "returnParameters": {
              "id": 27885,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "570:0:26"
            },
            "scope": 28067,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 28066,
            "nodeType": "FunctionDefinition",
            "src": "1408:649:26",
            "body": {
              "id": 28065,
              "nodeType": "Block",
              "src": "1445:612:26",
              "statements": [
                {
                  "assignments": [
                    27998
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 27998,
                      "mutability": "mutable",
                      "name": "dummyOracleDelegateAddress",
                      "nameLocation": "1463:26:26",
                      "nodeType": "VariableDeclaration",
                      "scope": 28065,
                      "src": "1455:34:26",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 27997,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1455:7:26",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 28003,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 28001,
                        "name": "dummyOracleDelegate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27872,
                        "src": "1500:19:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                          "typeString": "contract DummyOracleDelegate"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_DummyOracleDelegate_$30479",
                          "typeString": "contract DummyOracleDelegate"
                        }
                      ],
                      "id": 28000,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1492:7:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 27999,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1492:7:26",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 28002,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1492:28:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1455:65:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 28007,
                            "name": "dummyOracleDelegateAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 27998,
                            "src": "1569:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 28005,
                            "name": "pepperStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 27869,
                            "src": "1541:11:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PepperStake_$27480",
                              "typeString": "contract PepperStake"
                            }
                          },
                          "id": 28006,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1553:15:26",
                          "memberName": "oracleDelegates",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 26434,
                          "src": "1541:27:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view external returns (bool)"
                          }
                        },
                        "id": 28008,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1541:55:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 28004,
                      "name": "assertTrue",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        269,
                        290
                      ],
                      "referencedDeclaration": 269,
                      "src": "1530:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$",
                        "typeString": "function (bool)"
                      }
                    },
                    "id": 28009,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1530:67:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28010,
                  "nodeType": "ExpressionStatement",
                  "src": "1530:67:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 28014,
                            "name": "dummyOracleDelegateAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 27998,
                            "src": "1642:26:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "id": 28012,
                            "name": "pepperStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 27869,
                            "src": "1618:11:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PepperStake_$27480",
                              "typeString": "contract PepperStake"
                            }
                          },
                          "id": 28013,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1630:11:26",
                          "memberName": "supervisors",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 26430,
                          "src": "1618:23:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view external returns (bool)"
                          }
                        },
                        "id": 28015,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1618:51:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 28011,
                      "name": "assertTrue",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        269,
                        290
                      ],
                      "referencedDeclaration": 269,
                      "src": "1607:10:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$",
                        "typeString": "function (bool)"
                      }
                    },
                    "id": 28016,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1607:63:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28017,
                  "nodeType": "ExpressionStatement",
                  "src": "1607:63:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 28021,
                        "name": "_participant",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27883,
                        "src": "1689:12:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 28018,
                        "name": "vm",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1817,
                        "src": "1680:2:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vm_$8315",
                          "typeString": "contract Vm"
                        }
                      },
                      "id": 28020,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1683:5:26",
                      "memberName": "prank",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 8038,
                      "src": "1680:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 28022,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1680:22:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28023,
                  "nodeType": "ExpressionStatement",
                  "src": "1680:22:26"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "id": 28024,
                          "name": "pepperStake",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 27869,
                          "src": "1712:11:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_PepperStake_$27480",
                            "typeString": "contract PepperStake"
                          }
                        },
                        "id": 28026,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1724:5:26",
                        "memberName": "stake",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 26892,
                        "src": "1712:17:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_payable$__$returns$__$",
                          "typeString": "function () payable external"
                        }
                      },
                      "id": 28028,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "names": [
                        "value"
                      ],
                      "nodeType": "FunctionCallOptions",
                      "options": [
                        {
                          "hexValue": "302e3035",
                          "id": 28027,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1737:10:26",
                          "subdenomination": "ether",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_50000000000000000_by_1",
                            "typeString": "int_const 50000000000000000"
                          },
                          "value": "0.05"
                        }
                      ],
                      "src": "1712:36:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$__$returns$__$value",
                        "typeString": "function () payable external"
                      }
                    },
                    "id": 28029,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1712:38:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28030,
                  "nodeType": "ExpressionStatement",
                  "src": "1712:38:26"
                },
                {
                  "assignments": [
                    28035
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 28035,
                      "mutability": "mutable",
                      "name": "participantsToCheck",
                      "nameLocation": "1777:19:26",
                      "nodeType": "VariableDeclaration",
                      "scope": 28065,
                      "src": "1760:36:26",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                        "typeString": "address[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 28033,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1760:7:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 28034,
                        "nodeType": "ArrayTypeName",
                        "src": "1760:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 28041,
                  "initialValue": {
                    "arguments": [
                      {
                        "hexValue": "31",
                        "id": 28039,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1813:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "id": 28038,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "1799:13:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (address[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 28036,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1803:7:26",
                          "stateMutability": "nonpayable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 28037,
                        "nodeType": "ArrayTypeName",
                        "src": "1803:9:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                          "typeString": "address[]"
                        }
                      }
                    },
                    "id": 28040,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1799:16:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1760:55:26"
                },
                {
                  "expression": {
                    "id": 28049,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 28042,
                        "name": "participantsToCheck",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 28035,
                        "src": "1825:19:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 28044,
                      "indexExpression": {
                        "hexValue": "30",
                        "id": 28043,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1845:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1825:22:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 28047,
                          "name": "_participant",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 27883,
                          "src": "1858:12:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 28046,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1850:7:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 28045,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1850:7:26",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 28048,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1850:21:26",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1825:46:26",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 28050,
                  "nodeType": "ExpressionStatement",
                  "src": "1825:46:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 28054,
                        "name": "dummyOracleDelegateAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27998,
                        "src": "1918:26:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 28055,
                        "name": "participantsToCheck",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 28035,
                        "src": "1958:19:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      ],
                      "expression": {
                        "id": 28051,
                        "name": "pepperStake",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 27869,
                        "src": "1881:11:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PepperStake_$27480",
                          "typeString": "contract PepperStake"
                        }
                      },
                      "id": 28053,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1893:11:26",
                      "memberName": "checkOracle",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 27181,
                      "src": "1881:23:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$",
                        "typeString": "function (address,address[] memory) external"
                      }
                    },
                    "id": 28056,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1881:106:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28057,
                  "nodeType": "ExpressionStatement",
                  "src": "1881:106:26"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "id": 28059,
                            "name": "pepperStake",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 27869,
                            "src": "2006:11:26",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PepperStake_$27480",
                              "typeString": "contract PepperStake"
                            }
                          },
                          "id": 28060,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2018:26:26",
                          "memberName": "completingParticipantCount",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 26475,
                          "src": "2006:38:26",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                            "typeString": "function () view external returns (uint256)"
                          }
                        },
                        "id": 28061,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2006:40:26",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "hexValue": "31",
                        "id": 28062,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2048:1:26",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        }
                      ],
                      "id": 28058,
                      "name": "assertEq",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        1980,
                        2005,
                        2018,
                        2034,
                        2076,
                        2118,
                        2160,
                        2197,
                        2234,
                        2271,
                        320,
                        345,
                        375,
                        400,
                        459,
                        484,
                        514,
                        539,
                        1639,
                        1674
                      ],
                      "referencedDeclaration": 514,
                      "src": "1997:8:26",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 28063,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1997:53:26",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 28064,
                  "nodeType": "ExpressionStatement",
                  "src": "1997:53:26"
                }
              ]
            },
            "functionSelector": "27bd1297",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "testOracleDelegate",
            "nameLocation": "1417:18:26",
            "parameters": {
              "id": 27995,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1435:2:26"
            },
            "returnParameters": {
              "id": 27996,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1445:0:26"
            },
            "scope": 28067,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 27865,
              "name": "Test",
              "nameLocations": [
                "366:4:26"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 7532,
              "src": "366:4:26"
            },
            "id": 27866,
            "nodeType": "InheritanceSpecifier",
            "src": "366:4:26"
          }
        ],
        "canonicalName": "PepperStakeOracleTest",
        "contractDependencies": [
          27480,
          30479
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          28067,
          7532,
          7501,
          5073,
          4684,
          2677,
          1786,
          7521,
          1818
        ],
        "name": "PepperStakeOracleTest",
        "nameLocation": "341:21:26",
        "scope": 28068,
        "usedErrors": []
      }
    ],
    "license": "UNLICENSED"
  },
  "id": 26
}