'use strict'
Object.defineProperty(exports, '__esModule', { value: true })
const contract = require('@truffle/contract')
const BasicConsumer = contract({
 "contractName": "BasicConsumer",
 "abi": [
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "_link",
     "type": "address"
    },
    {
     "internalType": "address",
     "name": "_oracle",
     "type": "address"
    },
    {
     "internalType": "bytes32",
     "name": "_specId",
     "type": "bytes32"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "constructor"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "bytes32",
     "name": "id",
     "type": "bytes32"
    }
   ],
   "name": "ChainlinkCancelled",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "bytes32",
     "name": "id",
     "type": "bytes32"
    }
   ],
   "name": "ChainlinkFulfilled",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "bytes32",
     "name": "id",
     "type": "bytes32"
    }
   ],
   "name": "ChainlinkRequested",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "bytes32",
     "name": "requestId",
     "type": "bytes32"
    },
    {
     "indexed": true,
     "internalType": "bytes32",
     "name": "price",
     "type": "bytes32"
    }
   ],
   "name": "RequestFulfilled",
   "type": "event"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "_oracle",
     "type": "address"
    },
    {
     "internalType": "bytes32",
     "name": "_requestId",
     "type": "bytes32"
    }
   ],
   "name": "addExternalRequest",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "_oracle",
     "type": "address"
    },
    {
     "internalType": "bytes32",
     "name": "_requestId",
     "type": "bytes32"
    },
    {
     "internalType": "uint256",
     "name": "_payment",
     "type": "uint256"
    },
    {
     "internalType": "bytes4",
     "name": "_callbackFunctionId",
     "type": "bytes4"
    },
    {
     "internalType": "uint256",
     "name": "_expiration",
     "type": "uint256"
    }
   ],
   "name": "cancelRequest",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "currentPrice",
   "outputs": [
    {
     "internalType": "bytes32",
     "name": "",
     "type": "bytes32"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "bytes32",
     "name": "_requestId",
     "type": "bytes32"
    },
    {
     "internalType": "bytes32",
     "name": "_price",
     "type": "bytes32"
    }
   ],
   "name": "fulfill",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "string",
     "name": "_currency",
     "type": "string"
    },
    {
     "internalType": "uint256",
     "name": "_payment",
     "type": "uint256"
    }
   ],
   "name": "requestEthereumPrice",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "string",
     "name": "_currency",
     "type": "string"
    },
    {
     "internalType": "uint256",
     "name": "_payment",
     "type": "uint256"
    },
    {
     "internalType": "address",
     "name": "_callback",
     "type": "address"
    }
   ],
   "name": "requestEthereumPriceByCallback",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "withdrawLink",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  }
 ],
 "evm": {
  "bytecode": {
   "linkReferences": {},
   "object": " ",
   "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x4 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x13D2 CODESIZE SUB DUP1 PUSH2 0x13D2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 SWAP1 SWAP3 ADD MLOAD SWAP1 SWAP2 SWAP1 PUSH2 0x5B DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB PUSH2 0x78 AND JUMP JUMPDEST PUSH2 0x6D DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB PUSH2 0x9A AND JUMP JUMPDEST PUSH1 0x6 SSTORE POP PUSH2 0xBC SWAP1 POP JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1307 DUP1 PUSH2 0xCB PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x83DB5CBC GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x83DB5CBC EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x27D JUMPI DUP1 PUSH4 0x9D1B464A EQ PUSH2 0x285 JUMPI DUP1 PUSH4 0xE8D5359D EQ PUSH2 0x29F JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x42F2B65 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x5591A608 EQ PUSH2 0xA7 JUMPI DUP1 PUSH4 0x74961D4D EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x2D8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x3E5 JUMP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP DUP3 CALLDATALOAD SWAP4 POP POP POP PUSH1 0x20 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4AC JUMP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x23A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP SWAP2 CALLDATALOAD SWAP3 POP PUSH2 0x5E7 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x5F6 JUMP JUMPDEST PUSH2 0x28D PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x7B9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER EQ PUSH2 0x356 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1263 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND SWAP1 SSTORE MLOAD DUP3 SWAP2 PUSH32 0x7CC135E0CEBB02C3480AE5D74D377283180A2601F8F644EDF7987B009316C63A SWAP2 LOG2 PUSH1 0x40 MLOAD DUP3 SWAP1 DUP5 SWAP1 PUSH32 0xC2366233F634048C0F0458060D1228FAB36D00F7C0ECF6BDF2D9C4585036311 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP PUSH1 0x7 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x6EE4D55300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP6 SWAP1 MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP5 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP4 SWAP1 MSTORE SWAP1 MLOAD DUP7 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND SWAP2 PUSH4 0x6EE4D553 SWAP2 PUSH1 0x84 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP4 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4A0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x4B4 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x4E2 SWAP1 DUP4 PUSH32 0x42F2B6500000000000000000000000000000000000000000000000000000000 PUSH2 0x7C3 JUMP JUMPDEST SWAP1 POP PUSH2 0x544 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6765740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x47 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x128B PUSH1 0x47 SWAP2 CODECOPY DUP4 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x7EE AND JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x55B JUMPI SWAP1 POP POP SWAP1 POP DUP5 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x580 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH2 0x5D5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7061746800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 DUP5 PUSH2 0x81D SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x5DF DUP3 DUP6 PUSH2 0x88B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5F2 DUP3 DUP3 ADDRESS PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 PUSH2 0x8BB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND SWAP2 PUSH4 0xA9059CBB SWAP2 CALLER SWAP2 DUP5 SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x679 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x68D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP4 AND PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE MLOAD PUSH1 0x44 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x72D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x743 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x7B0 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x556E61626C6520746F207472616E736665720000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x5F2 DUP3 DUP3 PUSH2 0x8D7 JUMP JUMPDEST PUSH2 0x7CB PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x7D3 PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x7E5 DUP2 DUP7 DUP7 DUP7 PUSH4 0xFFFFFFFF PUSH2 0x9BE AND JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x803 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x818 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x832 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST PUSH2 0x83F DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x87D JUMPI PUSH2 0x875 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x85A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0xA20 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x842 JUMP JUMPDEST POP PUSH2 0x818 DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0xA48 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x0 SWAP1 PUSH2 0x8B2 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH2 0xA53 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ISZERO PUSH2 0x96A JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265717565737420697320616C72656164792070656E64696E67000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x9C6 PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x9D6 DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x100 PUSH2 0xC90 JUMP JUMPDEST POP POP SWAP2 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 AND PUSH1 0x40 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0xA2D DUP3 PUSH1 0x3 DUP4 MLOAD PUSH2 0xCCA JUMP JUMPDEST PUSH2 0x818 DUP3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xDDA AND JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH1 0x4 PUSH2 0xDF4 JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH1 0x7 PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x40 DUP1 MLOAD ADDRESS PUSH1 0x60 SWAP1 DUP2 SHL PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x34 DUP1 DUP5 ADD DUP7 SWAP1 MSTORE DUP5 MLOAD DUP1 DUP6 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x54 SWAP1 SWAP4 ADD DUP5 MSTORE DUP3 MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 KECCAK256 SWAP1 DUP7 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE DUP2 DUP2 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP9 AND OR SWAP1 SSTORE SWAP1 MLOAD DUP3 SWAP2 PUSH32 0xB5E6E01E79F91267DC17B4E6314D5D4D03593D2CEEE0FBB452B750BD70EA5AF9 SWAP2 LOG2 PUSH1 0x2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 DUP6 DUP5 PUSH2 0xB2D DUP8 PUSH2 0xE0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBB1 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xBDE JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP5 POP POP POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC13 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0xC80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1240 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xC98 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x20 DUP3 MOD ISZERO PUSH2 0xCAD JUMPI PUSH1 0x20 DUP3 MOD PUSH1 0x20 SUB DUP3 ADD SWAP2 POP JUMPDEST POP PUSH1 0x20 DUP3 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x40 DUP1 MLOAD DUP1 DUP6 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 SWAP3 ADD ADD SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x17 DUP2 GT PUSH2 0xCF1 JUMPI PUSH2 0xCEB DUP4 PUSH1 0xE0 PUSH1 0x5 DUP6 SWAP1 SHL AND DUP4 OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0x818 JUMP JUMPDEST PUSH1 0xFF DUP2 GT PUSH2 0xD27 JUMPI PUSH2 0xD14 DUP4 PUSH1 0x18 PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH2 0xFFFF DUP2 GT PUSH2 0xD5E JUMPI PUSH2 0xD4B DUP4 PUSH1 0x19 PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x2 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 GT PUSH2 0xD97 JUMPI PUSH2 0xD84 DUP4 PUSH1 0x1A PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x4 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x818 JUMPI PUSH2 0xDC1 DUP4 PUSH1 0x1B PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xDD4 DUP4 DUP3 PUSH1 0x8 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xDE2 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x8B2 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 DUP6 MLOAD PUSH2 0x1031 JUMP JUMPDEST PUSH2 0x818 DUP3 PUSH1 0x1F PUSH2 0x1FE0 PUSH1 0x5 DUP6 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST PUSH1 0x60 PUSH4 0x40429946 PUSH1 0xE0 SHL PUSH1 0x0 DUP1 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x20 ADD MLOAD DUP7 PUSH1 0x40 ADD MLOAD DUP8 PUSH1 0x60 ADD MLOAD PUSH1 0x1 DUP10 PUSH1 0x80 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF3B JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF23 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xF68 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP14 AND SWAP13 SWAP1 SWAP13 OR SWAP1 SWAP12 MSTORE POP SWAP9 SWAP10 POP POP POP POP POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1000 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x8B2 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 PUSH2 0x1119 JUMP JUMPDEST PUSH2 0x1018 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x1029 DUP5 DUP6 PUSH1 0x0 ADD MLOAD MLOAD DUP6 DUP6 PUSH2 0x1164 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1039 PUSH2 0x1225 JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0x1047 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP3 DUP6 ADD GT ISZERO PUSH2 0x1071 JUMPI PUSH2 0x1071 DUP6 PUSH2 0x1069 DUP8 PUSH1 0x20 ADD MLOAD DUP8 DUP7 ADD PUSH2 0x11C2 JUMP JUMPDEST PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 MLOAD DUP1 MLOAD DUP8 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP9 DUP8 ADD GT ISZERO PUSH2 0x1090 JUMPI DUP8 DUP7 ADD DUP3 MSTORE JUMPDEST POP POP POP PUSH1 0x20 DUP5 ADD JUMPDEST PUSH1 0x20 DUP5 LT PUSH2 0x10D5 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP4 ADD SWAP3 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x1098 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 DUP7 SWAP1 SUB PUSH2 0x100 EXP ADD SWAP1 DUP2 AND SWAP1 NOT SWAP2 SWAP1 SWAP2 AND OR SWAP1 MSTORE POP DUP4 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1121 PUSH2 0x1225 JUMP JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 LT PUSH2 0x113D JUMPI PUSH2 0x113D DUP5 DUP6 PUSH1 0x20 ADD MLOAD PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST DUP4 MLOAD DUP1 MLOAD PUSH1 0x20 DUP6 DUP4 ADD ADD DUP5 DUP2 MSTORE8 POP DUP1 DUP6 EQ ISZERO PUSH2 0x115A JUMPI PUSH1 0x1 DUP2 ADD DUP3 MSTORE JUMPDEST POP SWAP4 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x116C PUSH2 0x1225 JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP5 DUP4 ADD GT ISZERO PUSH2 0x1189 JUMPI PUSH2 0x1189 DUP6 DUP6 DUP5 ADD PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x100 EXP SUB SWAP1 POP DUP6 MLOAD DUP4 DUP7 DUP3 ADD ADD DUP6 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE POP DUP1 MLOAD DUP5 DUP8 ADD GT ISZERO PUSH2 0x11B7 JUMPI DUP4 DUP7 ADD DUP2 MSTORE JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT ISZERO PUSH2 0x11D3 JUMPI POP DUP2 PUSH2 0x8B5 JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 MLOAD PUSH2 0x11E5 DUP4 DUP4 PUSH2 0xC90 JUMP JUMPDEST POP PUSH2 0xDD4 DUP4 DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 DUP2 ADD PUSH2 0x1220 PUSH2 0x1225 JUMP JUMPDEST SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP INVALID PUSH22 0x6E61626C6520746F207472616E73666572416E644361 PUSH13 0x6C20746F206F7261636C65536F PUSH22 0x726365206D75737420626520746865206F7261636C65 KECCAK256 PUSH16 0x66207468652072657175657374687474 PUSH17 0x733A2F2F6D696E2D6170692E6372797074 PUSH16 0x636F6D706172652E636F6D2F64617461 0x2F PUSH17 0x726963653F6673796D3D45544826747379 PUSH14 0x733D5553442C4555522C4A5059A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xC0C72A3941232655B3BAFE5FF44B 0x27 BALANCE PUSH30 0x68B274928F99F54932CD8E47637C64736F6C634300060600330000000000 ",
   "sourceMap": "51:201:33:-:0;;;1243:1:3;1212:32;;91:158:33;5:9:-1;2:2;;;27:1;24;17:12;2:2;91:158:33;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;91:158:33;;;;;;;;;;;;;;165:24;91:158;-1:-1:-1;;;;;165:17:33;:24;:::i;:::-;195:27;214:7;-1:-1:-1;;;;;195:18:33;:27;:::i;:::-;228:6;:16;-1:-1:-1;51:201:33;;-1:-1:-1;51:201:33;4914:94:3;4971:4;:32;;-1:-1:-1;;;;;;4971:32:3;-1:-1:-1;;;;;4971:32:3;;;;;;;;;;4914:94::o;4692:108::-;4752:6;:43;;-1:-1:-1;;;;;;4752:43:3;-1:-1:-1;;;;;4752:43:3;;;;;;;;;;4692:108::o;51:201:33:-;;;;;;;"
  },
  "deployedBytecode": {
   "immutableReferences": {},
   "linkReferences": {},
   "object": " ",
   "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x83DB5CBC GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x83DB5CBC EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x8DC654A2 EQ PUSH2 0x27D JUMPI DUP1 PUSH4 0x9D1B464A EQ PUSH2 0x285 JUMPI DUP1 PUSH4 0xE8D5359D EQ PUSH2 0x29F JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x42F2B65 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x5591A608 EQ PUSH2 0xA7 JUMPI DUP1 PUSH4 0x74961D4D EQ PUSH2 0x114 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x98 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x2D8 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0x60 DUP3 ADD CALLDATALOAD AND SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x3E5 JUMP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x12A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x145 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x179 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP DUP3 CALLDATALOAD SWAP4 POP POP POP PUSH1 0x20 ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4AC JUMP JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x23A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP SWAP2 CALLDATALOAD SWAP3 POP PUSH2 0x5E7 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xA5 PUSH2 0x5F6 JUMP JUMPDEST PUSH2 0x28D PUSH2 0x7B3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x7B9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER EQ PUSH2 0x356 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1263 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND SWAP1 SSTORE MLOAD DUP3 SWAP2 PUSH32 0x7CC135E0CEBB02C3480AE5D74D377283180A2601F8F644EDF7987B009316C63A SWAP2 LOG2 PUSH1 0x40 MLOAD DUP3 SWAP1 DUP5 SWAP1 PUSH32 0xC2366233F634048C0F0458060D1228FAB36D00F7C0ECF6BDF2D9C4585036311 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP PUSH1 0x7 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x6EE4D55300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x24 DUP2 ADD DUP6 SWAP1 MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP5 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP4 SWAP1 MSTORE SWAP1 MLOAD DUP7 SWAP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND SWAP2 PUSH4 0x6EE4D553 SWAP2 PUSH1 0x84 DUP1 DUP3 ADD SWAP3 PUSH1 0x0 SWAP3 SWAP1 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP4 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x48C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4A0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x4B4 PUSH2 0x11F0 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x4E2 SWAP1 DUP4 PUSH32 0x42F2B6500000000000000000000000000000000000000000000000000000000 PUSH2 0x7C3 JUMP JUMPDEST SWAP1 POP PUSH2 0x544 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x6765740000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x47 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x128B PUSH1 0x47 SWAP2 CODECOPY DUP4 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x7EE AND JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 DUP1 DUP3 MSTORE DUP2 DUP4 ADD SWAP1 SWAP3 MSTORE PUSH1 0x60 SWAP2 DUP2 PUSH1 0x20 ADD JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x55B JUMPI SWAP1 POP POP SWAP1 POP DUP5 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x580 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH2 0x5D5 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x4 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x7061746800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP3 DUP5 PUSH2 0x81D SWAP1 SWAP3 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH2 0x5DF DUP3 DUP6 PUSH2 0x88B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5F2 DUP3 DUP3 ADDRESS PUSH2 0x4AC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x600 PUSH2 0x8BB JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE SWAP1 MLOAD SWAP2 SWAP3 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND SWAP2 PUSH4 0xA9059CBB SWAP2 CALLER SWAP2 DUP5 SWAP2 PUSH4 0x70A08231 SWAP2 PUSH1 0x24 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x679 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x68D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP7 SWAP1 SHL AND DUP2 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP4 AND PUSH1 0x4 DUP5 ADD MSTORE PUSH1 0x24 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE MLOAD PUSH1 0x44 DUP1 DUP4 ADD SWAP3 PUSH1 0x20 SWAP3 SWAP2 SWAP1 DUP3 SWAP1 SUB ADD DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x72D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x743 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x7B0 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x556E61626C6520746F207472616E736665720000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x7 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x5F2 DUP3 DUP3 PUSH2 0x8D7 JUMP JUMPDEST PUSH2 0x7CB PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x7D3 PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x7E5 DUP2 DUP7 DUP7 DUP7 PUSH4 0xFFFFFFFF PUSH2 0x9BE AND JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x803 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x818 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x832 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xA20 AND JUMP JUMPDEST PUSH2 0x83F DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0xA3D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x87D JUMPI PUSH2 0x875 DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x85A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0xA20 SWAP1 SWAP2 SWAP1 PUSH4 0xFFFFFFFF AND JUMP JUMPDEST PUSH1 0x1 ADD PUSH2 0x842 JUMP JUMPDEST POP PUSH2 0x818 DUP4 PUSH1 0x80 ADD MLOAD PUSH2 0xA48 JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x0 SWAP1 PUSH2 0x8B2 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH2 0xA53 JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND ISZERO PUSH2 0x96A JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265717565737420697320616C72656164792070656E64696E67000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x9C6 PUSH2 0x11F0 JUMP JUMPDEST PUSH2 0x9D6 DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x100 PUSH2 0xC90 JUMP JUMPDEST POP POP SWAP2 DUP4 MSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 AND PUSH1 0x40 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH2 0xA2D DUP3 PUSH1 0x3 DUP4 MLOAD PUSH2 0xCCA JUMP JUMPDEST PUSH2 0x818 DUP3 DUP3 PUSH4 0xFFFFFFFF PUSH2 0xDDA AND JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH1 0x4 PUSH2 0xDF4 JUMP JUMPDEST PUSH2 0x7B0 DUP2 PUSH1 0x7 PUSH2 0xDF4 JUMP JUMPDEST PUSH1 0x4 SLOAD PUSH1 0x40 DUP1 MLOAD ADDRESS PUSH1 0x60 SWAP1 DUP2 SHL PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x34 DUP1 DUP5 ADD DUP7 SWAP1 MSTORE DUP5 MLOAD DUP1 DUP6 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x54 SWAP1 SWAP4 ADD DUP5 MSTORE DUP3 MLOAD SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 KECCAK256 SWAP1 DUP7 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE DUP2 DUP2 KECCAK256 DUP1 SLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000 AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP9 AND OR SWAP1 SSTORE SWAP1 MLOAD DUP3 SWAP2 PUSH32 0xB5E6E01E79F91267DC17B4E6314D5D4D03593D2CEEE0FBB452B750BD70EA5AF9 SWAP2 LOG2 PUSH1 0x2 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4000AEA0 DUP6 DUP5 PUSH2 0xB2D DUP8 PUSH2 0xE0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBB1 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB99 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xBDE JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP5 POP POP POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xBFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xC13 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xC29 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0xC80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1240 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xC98 PUSH2 0x1225 JUMP JUMPDEST PUSH1 0x20 DUP3 MOD ISZERO PUSH2 0xCAD JUMPI PUSH1 0x20 DUP3 MOD PUSH1 0x20 SUB DUP3 ADD SWAP2 POP JUMPDEST POP PUSH1 0x20 DUP3 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x40 DUP1 MLOAD DUP1 DUP6 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 SWAP3 ADD ADD SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x17 DUP2 GT PUSH2 0xCF1 JUMPI PUSH2 0xCEB DUP4 PUSH1 0xE0 PUSH1 0x5 DUP6 SWAP1 SHL AND DUP4 OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0x818 JUMP JUMPDEST PUSH1 0xFF DUP2 GT PUSH2 0xD27 JUMPI PUSH2 0xD14 DUP4 PUSH1 0x18 PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x1 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH2 0xFFFF DUP2 GT PUSH2 0xD5E JUMPI PUSH2 0xD4B DUP4 PUSH1 0x19 PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x2 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH4 0xFFFFFFFF DUP2 GT PUSH2 0xD97 JUMPI PUSH2 0xD84 DUP4 PUSH1 0x1A PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xCEB DUP4 DUP3 PUSH1 0x4 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT PUSH2 0x818 JUMPI PUSH2 0xDC1 DUP4 PUSH1 0x1B PUSH2 0x1FE0 PUSH1 0x5 DUP7 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST POP PUSH2 0xDD4 DUP4 DUP3 PUSH1 0x8 PUSH4 0xFFFFFFFF PUSH2 0x1010 AND JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xDE2 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x8B2 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 DUP6 MLOAD PUSH2 0x1031 JUMP JUMPDEST PUSH2 0x818 DUP3 PUSH1 0x1F PUSH2 0x1FE0 PUSH1 0x5 DUP6 SWAP1 SHL AND OR PUSH4 0xFFFFFFFF PUSH2 0xFF8 AND JUMP JUMPDEST PUSH1 0x60 PUSH4 0x40429946 PUSH1 0xE0 SHL PUSH1 0x0 DUP1 DUP5 PUSH1 0x0 ADD MLOAD DUP6 PUSH1 0x20 ADD MLOAD DUP7 PUSH1 0x40 ADD MLOAD DUP8 PUSH1 0x60 ADD MLOAD PUSH1 0x1 DUP10 PUSH1 0x80 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF3B JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF23 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0xF68 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP14 AND SWAP13 SWAP1 SWAP13 OR SWAP1 SWAP12 MSTORE POP SWAP9 SWAP10 POP POP POP POP POP POP POP POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1000 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x8B2 DUP4 DUP5 PUSH1 0x0 ADD MLOAD MLOAD DUP5 PUSH2 0x1119 JUMP JUMPDEST PUSH2 0x1018 PUSH2 0x1225 JUMP JUMPDEST PUSH2 0x1029 DUP5 DUP6 PUSH1 0x0 ADD MLOAD MLOAD DUP6 DUP6 PUSH2 0x1164 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1039 PUSH2 0x1225 JUMP JUMPDEST DUP3 MLOAD DUP3 GT ISZERO PUSH2 0x1047 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP3 DUP6 ADD GT ISZERO PUSH2 0x1071 JUMPI PUSH2 0x1071 DUP6 PUSH2 0x1069 DUP8 PUSH1 0x20 ADD MLOAD DUP8 DUP7 ADD PUSH2 0x11C2 JUMP JUMPDEST PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 MLOAD DUP1 MLOAD DUP8 PUSH1 0x20 DUP4 ADD ADD SWAP4 POP DUP1 DUP9 DUP8 ADD GT ISZERO PUSH2 0x1090 JUMPI DUP8 DUP7 ADD DUP3 MSTORE JUMPDEST POP POP POP PUSH1 0x20 DUP5 ADD JUMPDEST PUSH1 0x20 DUP5 LT PUSH2 0x10D5 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP4 ADD SWAP3 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x1098 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x20 DUP7 SWAP1 SUB PUSH2 0x100 EXP ADD SWAP1 DUP2 AND SWAP1 NOT SWAP2 SWAP1 SWAP2 AND OR SWAP1 MSTORE POP DUP4 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x1121 PUSH2 0x1225 JUMP JUMPDEST DUP4 PUSH1 0x20 ADD MLOAD DUP4 LT PUSH2 0x113D JUMPI PUSH2 0x113D DUP5 DUP6 PUSH1 0x20 ADD MLOAD PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST DUP4 MLOAD DUP1 MLOAD PUSH1 0x20 DUP6 DUP4 ADD ADD DUP5 DUP2 MSTORE8 POP DUP1 DUP6 EQ ISZERO PUSH2 0x115A JUMPI PUSH1 0x1 DUP2 ADD DUP3 MSTORE JUMPDEST POP SWAP4 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH2 0x116C PUSH2 0x1225 JUMP JUMPDEST DUP5 PUSH1 0x20 ADD MLOAD DUP5 DUP4 ADD GT ISZERO PUSH2 0x1189 JUMPI PUSH2 0x1189 DUP6 DUP6 DUP5 ADD PUSH1 0x2 MUL PUSH2 0x11D9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP4 PUSH2 0x100 EXP SUB SWAP1 POP DUP6 MLOAD DUP4 DUP7 DUP3 ADD ADD DUP6 DUP4 NOT DUP3 MLOAD AND OR DUP2 MSTORE POP DUP1 MLOAD DUP5 DUP8 ADD GT ISZERO PUSH2 0x11B7 JUMPI DUP4 DUP7 ADD DUP2 MSTORE JUMPDEST POP SWAP5 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP4 GT ISZERO PUSH2 0x11D3 JUMPI POP DUP2 PUSH2 0x8B5 JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 MLOAD PUSH2 0x11E5 DUP4 DUP4 PUSH2 0xC90 JUMP JUMPDEST POP PUSH2 0xDD4 DUP4 DUP3 PUSH2 0xDDA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xA0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x80 DUP2 ADD PUSH2 0x1220 PUSH2 0x1225 JUMP JUMPDEST SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP INVALID PUSH22 0x6E61626C6520746F207472616E73666572416E644361 PUSH13 0x6C20746F206F7261636C65536F PUSH22 0x726365206D75737420626520746865206F7261636C65 KECCAK256 PUSH16 0x66207468652072657175657374687474 PUSH17 0x733A2F2F6D696E2D6170692E6372797074 PUSH16 0x636F6D706172652E636F6D2F64617461 0x2F PUSH17 0x726963653F6673796D3D45544826747379 PUSH14 0x733D5553442C4555522C4A5059A2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH14 0xC0C72A3941232655B3BAFE5FF44B 0x27 BALANCE PUSH30 0x68B274928F99F54932CD8E47637C64736F6C634300060600330000000000 ",
   "sourceMap": "51:201:33:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;51:201:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;1574:188:36;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1574:188:36;;;;;;;:::i;:::-;;890:332;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;890:332:36;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;429:457::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;429:457:36;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;429:457:36;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;429:457:36;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;429:457:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;429:457:36;;-1:-1:-1;;429:457:36;;;-1:-1:-1;;;429:457:36;;;;;;:::i;268:157::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;268:157:36;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;268:157:36;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;268:157:36;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;268:157:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;268:157:36;;-1:-1:-1;;268:157:36;;;-1:-1:-1;268:157:36;;-1:-1:-1;;268:157:36:i;1226:207::-;;;:::i;127:27::-;;;:::i;:::-;;;;;;;;;;;;;;;;1437:133;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1437:133:36;;;;;;;;;:::i;1574:188::-;8823:27:3;;;;:15;:27;;;;;;;;;;8809:10;:41;8801:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8920:27;;;;:15;:27;;;;;;8913:34;;;;;;8958:30;8936:10;;8958:30;;;1694:36:36::1;::::0;1723:6;;1711:10;;1694:36:::1;::::0;;;::::1;-1:-1:-1::0;1736:12:36::1;:21:::0;-1:-1:-1;1574:188:36:o;890:332::-;1132:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1118:7;;1132:29;;;;;;:85;;;;;1054:35;;1132:85;;;;;;;;1054:35;1132:29;:85;;;2:2:-1;;;;27:1;24;17:12;2:2;1132:85:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1132:85:36;;;;890:332;;;;;;:::o;429:457::-;544:28;;:::i;:::-;597:6;;575:63;;605:9;616:21;575;:63::i;:::-;544:94;;644:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:3;;:89;;:7;:89;:::i;:::-;762:15;;;775:1;762:15;;;;;;;;;739:20;;762:15;;;;;;;;;;;;;;;;;;;;739:38;;793:9;783:4;788:1;783:7;;;;;;;;;;;;;:19;;;;808:32;;;;;;;;;;;;;;;;;;835:4;808:3;:18;;:32;;;;;:::i;:::-;846:35;867:3;872:8;846:20;:35::i;:::-;;429:457;;;;;:::o;268:157::-;354:66;385:9;396:8;414:4;354:30;:66::i;:::-;268:157;;:::o;1226:207::-;1263:24;1309:23;:21;:23::i;:::-;1374:30;;;;;;1398:4;1374:30;;;;;;1263:70;;-1:-1:-1;1347:14:36;;;;;;1362:10;;1347:14;;1374:15;;:30;;;;;;;;;;;;;;1347:14;1374:30;;;2:2:-1;;;;27:1;24;17:12;2:2;1374:30:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1374:30:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1374:30:36;1347:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1374:30;;1347:58;;;;;;;-1:-1:-1;1347:58:36;;;;2:2:-1;;;;27:1;24;17:12;2:2;1347:58:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1347:58:36;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1347:58:36;1339:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1226:207;:::o;127:27::-;;;;:::o;1437:133::-;1517:48;1545:7;1554:10;1517:27;:48::i;1847:295:3:-;1995:24;;:::i;:::-;2027:28;;:::i;:::-;2068:69;:3;2083:7;2092:16;2110:26;2068:69;:14;:69;:::i;:::-;2061:76;1847:295;-1:-1:-1;;;;;1847:295:3:o;1964:169:2:-;2066:8;;;;:27;;2088:4;2066:27;:21;:27;:::i;:::-;2099:8;;;;:29;;2121:6;2099:29;:21;:29;:::i;:::-;1964:169;;;:::o;3476:301::-;3592:8;;;;:27;;3614:4;3592:27;:21;:27;:::i;:::-;3625:21;:4;:8;;;:19;:21::i;:::-;3657:9;3652:93;3676:7;:14;3672:1;:18;3652:93;;;3705:33;3727:7;3735:1;3727:10;;;;;;;;;;;;;;3705:4;:8;;;:21;;:33;;;;:::i;:::-;3692:3;;3652:93;;;;3750:22;:4;:8;;;:20;:22::i;2449:189:3:-;2609:6;;2554:7;;2578:55;;2609:6;;2618:4;2624:8;2578:22;:55::i;:::-;2571:62;;2449:189;;;;;:::o;5373:110::-;5473:4;;;;5373:110;:::o;5996:171::-;9222:1;9183:27;;;:15;:27;;;;;;6105:10;;9183:41;:27;:41;9175:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6125:27:3::1;::::0;;;:15:::1;:27;::::0;;;;:37;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;5996:171::o;971:366:2:-;1120:24;;:::i;:::-;1152:50;1174:4;:8;;;335:3;1152:21;:50::i;:::-;-1:-1:-1;;1208:13:2;;;1227:39;;:20;;;:39;1272:43;;:23;;;:43;1208:13;971:366::o;1859:189:48:-;1958:55;1969:3;346:1;1999:5;1993:19;1958:10;:55::i;:::-;2019:24;:3;2036:5;2019:24;:10;:24;:::i;2052:130::-;2128:49;2155:3;393:1;2128:26;:49::i;2316:138::-;2393:56;2420:3;492:1;2393:26;:56::i;3152:488:3:-;3348:12;;3325:36;;;3342:4;3325:36;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3325:36:3;;;;;;3315:47;;;;;;;;;3368:10;;;:25;;;;-1:-1:-1;3399:26:3;;;:15;:26;;;;;;:36;;;;3325;3399;;;;;3446:29;;3315:47;;3446:29;;;3489:4;;;;:20;3510:7;3519:8;3529:19;3543:4;3529:13;:19::i;:::-;3489:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3489:60:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3489:60:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3489:60:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;3489:60:3;3481:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3595:12;:17;;3611:1;3595:17;;;3152:488;;;;;:::o;941:395:47:-;1011:13;;:::i;:::-;1047:2;1036:8;:13;:18;1032:71;;1093:2;1082:8;:13;1076:2;:20;1064:32;;;;1032:71;-1:-1:-1;1150:12:47;;;;:23;;;1213:4;1207:11;;1225:16;;;-1:-1:-1;1248:14:47;;1290:18;;;1282:27;1269:41;;1150:12;941:395::o;498:645:48:-;610:2;601:5;:11;598:541;;622:44;:3;644:20;654:1;645:10;;;644:20;;;622:44;:15;:44;:::i;:::-;;598:541;;;691:4;682:5;:13;679:460;;705:41;:3;742:2;728:10;737:1;728:10;;;;727:17;705:41;:15;:41;:::i;:::-;-1:-1:-1;754:23:48;:3;768:5;775:1;754:23;:13;:23;:::i;679:460::-;802:6;793:5;:15;790:349;;818:41;:3;855:2;841:10;850:1;841:10;;;;840:17;818:41;:15;:41;:::i;:::-;-1:-1:-1;867:23:48;:3;881:5;888:1;867:23;:13;:23;:::i;790:349::-;915:10;906:5;:19;903:236;;935:41;:3;972:2;958:10;967:1;958:10;;;;957:17;935:41;:15;:41;:::i;:::-;-1:-1:-1;984:23:48;:3;998:5;1005:1;984:23;:13;:23;:::i;903:236::-;1032:18;1023:5;:27;1020:119;;1060:41;:3;1097:2;1083:10;1092:1;1083:10;;;;1082:17;1060:41;:15;:41;:::i;:::-;-1:-1:-1;1109:23:48;:3;1123:5;1130:1;1109:23;:13;:23;:::i;:::-;;498:645;;;:::o;4495:155:47:-;4572:13;;:::i;:::-;4600:45;4606:3;4611;:7;;;:14;4627:4;4633;:11;4600:5;:45::i;1147:150:48:-;1251:41;:3;1288:2;1274:10;1283:1;1274:10;;;;1273:17;1251:41;:15;:41;:::i;7644:527:3:-;7732:12;7791:29;;;799:1;743;8041:4;:7;;;8056:4;:20;;;8084:4;:23;;;8115:4;:10;;;845:1;8153:4;:8;;;:12;;;7761:405;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7761:405:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7761:405:3;;;22:32:-1;26:21;;;22:32;6:49;;7761:405:3;;;49:4:-1;25:18;;61:17;;7761:405:3;182:15:-1;7761:405:3;;;;179:29:-1;;;;160:49;;;-1:-1;7761:405:3;;-1:-1:-1;;;;;;;;;;7644:527:3;;;:::o;5810:144:47:-;5884:13;;:::i;:::-;5912:37;5923:3;5928;:7;;;:14;5944:4;5912:10;:37::i;9502:154::-;9583:13;;:::i;:::-;9611:40;9620:3;9625;:7;;;:14;9641:4;9647:3;9611:8;:40::i;:::-;9604:47;9502:154;-1:-1:-1;;;;9502:154:47:o;2650:1140::-;2745:13;;:::i;:::-;2781:4;:11;2774:3;:18;;2766:27;;12:1:-1;9;2:12;2766:27:47;2816:3;:12;;;2810:3;2804;:9;:24;2800:90;;;2838:45;2845:3;2850:28;2854:3;:12;;;2874:3;2868;:9;2850:3;:28::i;:::-;2881:1;2850:32;2838:6;:45::i;:::-;2896:9;2911:8;3005:3;2999:10;3076:6;3070:13;3192:3;3187:2;3179:6;3175:15;3171:25;3163:33;;3276:6;3270:3;3265;3261:13;3258:25;3255:2;;;3318:3;3313;3309:13;3301:6;3294:29;3255:2;-1:-1:-1;;;3355:2:47;3345:13;;3416:129;3430:2;3423:3;:9;3416:129;;3485:10;;3472:24;;3434:9;;;;;3519:2;3511:10;;;;3529:9;3416:129;;;3654:10;3703:11;;3591:21;3599:2;:8;;;3591:3;:17;:21;3699:22;;;3666:9;;3650:26;;;;3741:21;3728:35;;-1:-1:-1;3782:3:47;2650:1140;;;;;;:::o;4944:619::-;5027:13;;:::i;:::-;5059:3;:12;;;5052:3;:19;5048:69;;5081:29;5088:3;5093;:12;;;5108:1;5093:16;5081:6;:29::i;:::-;5203:3;5197:10;5274:6;5268:13;5386:2;5380:3;5372:6;5368:16;5364:25;5410:4;5404;5396:19;;5481:6;5476:3;5473:15;5470:2;;;5526:1;5518:6;5514:14;5506:6;5499:30;5470:2;-1:-1:-1;5555:3:47;;4944:619;-1:-1:-1;;;;4944:619:47:o;8609:642::-;8698:13;;:::i;:::-;8735:3;:12;;;8729:3;8723;:9;:24;8719:73;;;8757:28;8764:3;8776;8770;:9;8783:1;8769:15;8757:6;:28::i;:::-;8798:9;8823:1;8817:3;8810;:10;:14;8798:26;;8910:3;8904:10;9025:3;9019;9011:6;9007:16;9003:26;9081:4;9073;9069:9;9062:4;9056:11;9052:27;9049:37;9043:4;9036:51;;9169:6;9163:13;9157:3;9152;9148:13;9145:32;9142:2;;;9212:3;9207;9203:13;9195:6;9188:29;9142:2;-1:-1:-1;9243:3:47;;8609:642;-1:-1:-1;;;;;8609:642:47:o;1888:114::-;1938:4;1958:1;1954;:5;1950:34;;;-1:-1:-1;1976:1:47;1969:8;;1950:34;-1:-1:-1;1996:1:47;1888:114;-1:-1:-1;1888:114:47:o;1731:153::-;1822:7;;1835:19;1822:3;1845:8;1835:4;:19::i;:::-;;1860;1867:3;1872:6;1860;:19::i;51:201:33:-;;;;;;;;;-1:-1:-1;51:201:33;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o"
  },
  "methodIdentifiers": {
   "addExternalRequest(address,bytes32)": "e8d5359d",
   "cancelRequest(address,bytes32,uint256,bytes4,uint256)": "5591a608",
   "currentPrice()": "9d1b464a",
   "fulfill(bytes32,bytes32)": "042f2b65",
   "requestEthereumPrice(string,uint256)": "83db5cbc",
   "requestEthereumPriceByCallback(string,uint256,address)": "74961d4d",
   "withdrawLink()": "8dc654a2"
  }
 },
 "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_link\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_specId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ChainlinkRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"price\",\"type\":\"bytes32\"}],\"name\":\"RequestFulfilled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"addExternalRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_payment\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"_callbackFunctionId\",\"type\":\"bytes4\"},{\"internalType\":\"uint256\",\"name\":\"_expiration\",\"type\":\"uint256\"}],\"name\":\"cancelRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentPrice\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_price\",\"type\":\"bytes32\"}],\"name\":\"fulfill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_currency\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_payment\",\"type\":\"uint256\"}],\"name\":\"requestEthereumPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_currency\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_payment\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_callback\",\"type\":\"address\"}],\"name\":\"requestEthereumPriceByCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawLink\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/BasicConsumer.sol\":\"BasicConsumer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[]},\"sources\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/Chainlink.sol\":{\"keccak256\":\"0xdb0cd9acf471e9925b7be1fa4b0f17a373324318b2e14062b7749931cdde00fb\",\"urls\":[\"bzz-raw://ad2685687f532eba3298ede1b888b57d69f3995d6dd49bbe468d45cb1716cbc4\",\"dweb:/ipfs/QmVuNKTnxGuzfaVbx4jDjdVn45D4ogj9zvso1xXhUc2NKT\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol\":{\"keccak256\":\"0xf9c4039a2e4ca49bbb9409baf6afcf99a572695d3e5f3c191b7fac6cfa7378e9\",\"urls\":[\"bzz-raw://792875fb40c3723baa0607337a6bd27b5c3bc55502bc8db9981ed71747e9ce52\",\"dweb:/ipfs/QmUWKB9zaaf1ywDd9vWe4JB9Pjtqt1cddjUoGwEiKfP2HP\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/interfaces/ChainlinkRequestInterface.sol\":{\"keccak256\":\"0x4b41b021bf58c429891ff291637de29be54741565105de82238dac9f6ecee374\",\"urls\":[\"bzz-raw://84681ff65b31b2e2c6977289661733c0f22409965b9057140f56f8a9ff185048\",\"dweb:/ipfs/QmS4TQJDSHQiKNwQ4LkSCVp7LjuRQwp6gem3271vtCwz9k\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/interfaces/ENSInterface.sol\":{\"keccak256\":\"0xf4998e886147b298eda28b4eacbdc90c58ba63ba475469651f2072e188dd5a64\",\"urls\":[\"bzz-raw://c1e2334294a816b7eda9de280e39b9463ebde2db8b242410eb991b2f623b47d4\",\"dweb:/ipfs/QmNY5bajahfFRmhBgcMVQ7712zHKxc6HkuN7LaiKtpjb7t\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/interfaces/LinkTokenInterface.sol\":{\"keccak256\":\"0xdbf46b45a4c9f38ba71a0391aed0e7b108854b619f292d907ae537228868bda6\",\"urls\":[\"bzz-raw://3ae40466809630c4731e2e3a697d6885727c577aaf260766c8a2f534ad3f6ee8\",\"dweb:/ipfs/QmTzpN5yP4Y5jvQ1ohfXFrce3sjzUiSChYJgZj9VvhVohG\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/interfaces/PointerInterface.sol\":{\"keccak256\":\"0x6458d82762d4f13c020a13efdbd9bf14500e147df707184a693aea91449c2f4f\",\"urls\":[\"bzz-raw://735950f3a544fc6ef2db92405597169bfb5fdb9df83623c0d99fd3d85de8690d\",\"dweb:/ipfs/QmZHxb5Qr7Kw9DHAg4VwEADue9ffNyyhbiyEZ15A5mANUN\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/BasicConsumer.sol\":{\"keccak256\":\"0xeff4b17acae5e79a2d5b60b22bef32a7bcc283726effd09d3d4559823cfc96b4\",\"urls\":[\"bzz-raw://d55fe4f0084f3c4ccd7c57321b2141f0c70684be04fdc8c1c1c86d143c4e82da\",\"dweb:/ipfs/QmV31rmEq5m4T6G7RPUqvfuaR3ZdYGBKyDEkzNSScPMPjZ\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/Consumer.sol\":{\"keccak256\":\"0x225c6c604e1219d17cfe833dd0e37021dcddcec8d474e8f961ea127314821e7f\",\"urls\":[\"bzz-raw://3a92b448ff62dc3595c214a9e4ca9d494b29f7fb8ff9455becf8e02612f5e3ba\",\"dweb:/ipfs/QmQLvAwHBMKYzD2fSTPLowXL6HQj869EHoZxbashKyBguk\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/vendor/Buffer.sol\":{\"keccak256\":\"0x44f15070c50a25a323775c989660d2c2af86530e994973584ddaadb51ab2fe6d\",\"urls\":[\"bzz-raw://6ff6ef1f796e1c1aa0479d6a186cc8d43bdf22b0dad391d4a897bea3a924e38e\",\"dweb:/ipfs/QmY8Zt8X4cqFSEX8GD6YQbThJe1Z3PDuNNKZzDWpCS69Go\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/vendor/CBOR.sol\":{\"keccak256\":\"0xabda6c3df28094ac0c2a892108f5655fe7520791bc1cd6e0bd4d11ed261a001d\",\"urls\":[\"bzz-raw://2659de9101e6ba2c1125741adad82c626f2d6681d14487d793c1ad0712e80e49\",\"dweb:/ipfs/QmaEJtv16Ln17Jbkc5kUf5vHrfBeGTmBAX1tVyDHZV2Zxw\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/vendor/ENSResolver.sol\":{\"keccak256\":\"0xdddea29d7407c1dbd1e130d885fc1a0934e98f0a7cc9f4d5bfd002bb2cfbcf82\",\"urls\":[\"bzz-raw://c4c764d69c47754d7b219fab558bf4be2a6444470ede7aa0ab1e446aea01dbda\",\"dweb:/ipfs/QmWp2CNUw9xt8ir2P3LhGHuydUsAXnyZ382U2BUjhoYPvy\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/vendor/SafeMath.sol\":{\"keccak256\":\"0x95dbe2dd5ab8682b99bc3d7d297b621d4237442da160f78d3323ee5c4a06ded3\",\"urls\":[\"bzz-raw://d753308ff4eb43fba6f9ede371a33f707c5818350770dcb078a7d78ac8251361\",\"dweb:/ipfs/Qme64eYKWoTQiP3WhqGHoMqrENNZ9L8SdBLQ2hx5SmzUda\"]}},\"version\":1}"
})

if (process.env.NODE_ENV === 'test') {
  try {
    eval('BasicConsumer.setProvider(web3.currentProvider)')
  } catch (e) {}
}

exports.BasicConsumer = BasicConsumer
