[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "AvaLandcontractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_MINTABLE_AT_ONCE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "endSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "freeRollAvaLand", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "freeRollMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "getAvaLandBelongingToOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_numToMint", "type": "uint256" } ], "name": "getCostForMintingAvaLand", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "getNumFreeRollAvaLand", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "numRolls", "type": "uint256" } ], "name": "giveFreeRoll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "imageHash", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isSaleOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_numToMint", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numTotalAvaLand", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "saleHasBeenStarted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_contractURI", "type": "string" } ], "name": "setContractURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_imageHash", "type": "string" } ], "name": "setImageHash", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newPrice", "type": "uint256" } ], "name": "setPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startSale", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawFailsafe", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawTeam", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052600d805461ffff191690556706f05b59d3b20000600e55601080547308f956ce30f297613051cb60a9e8bd2c9ee21c886001600160a01b031991821681179092556011805490911690911790556104b06104c281905560006104c3556104c5553480156200007157600080fd5b5060405180604001604052806007815260200166105d9853185b9960ca1b8152506040518060400160405280600681526020016510559053139160d21b8152506000620000c36200014660201b60201c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620001229060019060208501906200014a565b508051620001389060029060208401906200014a565b50506001600b55506200022d565b3390565b8280546200015890620001f0565b90600052602060002090601f0160209004810192826200017c5760008555620001c7565b82601f106200019757805160ff1916838001178555620001c7565b82800160010185558215620001c7579182015b82811115620001c7578251825591602001919060010190620001aa565b50620001d5929150620001d9565b5090565b5b80821115620001d55760008155600101620001da565b600181811c908216806200020557607f821691505b602082108114156200022757634e487b7160e01b600052602260045260246000fd5b50919050565b612af5806200023d6000396000f3fe6080604052600436106102505760003560e01c806391b7f5ed11610139578063bb51f32d116100b6578063e89adf7a1161007a578063e89adf7a1461069b578063e8a3d485146106c8578063e985e9c5146106dd578063f2f5ec1514610726578063f2fde38b14610746578063fe85d3c61461076657600080fd5b8063bb51f32d1461061c578063c87b56dd14610631578063c9cb8a1614610651578063cbf775b214610666578063d01af4381461067b57600080fd5b8063a1d89819116100fd578063a1d8981914610571578063a22cb46514610590578063b3b9b0b7146105b0578063b66a0e5d146105e7578063b88d4fde146105fc57600080fd5b806391b7f5ed146104f4578063938e3d7b1461051457806395d89b411461053457806398d5fdca14610549578063a0712d681461055e57600080fd5b80633af03e8a116101d25780636352211e116101965780636352211e146104395780636855c86b1461045957806370a0823114610487578063715018a6146104a7578063779e170d146104bc5780638da5cb5b146104d657600080fd5b80633af03e8a146103af57806342842e0e146103c45780634f6ccce7146103e457806351605d801461040457806355f804b31461041957600080fd5b8063095ea7b311610219578063095ea7b31461031b57806318160ddd1461033b57806323b872dd1461035a5780632f745c591461037a578063380d831b1461039a57600080fd5b8062e6672c1461025557806301ffc9a71461026c57806304299b2a146102a157806306fdde03146102c1578063081812fc146102e3575b600080fd5b34801561026157600080fd5b5061026a61077b565b005b34801561027857600080fd5b5061028c6102873660046126bb565b610881565b60405190151581526020015b60405180910390f35b3480156102ad57600080fd5b5061026a6102bc3660046126f5565b610892565b3480156102cd57600080fd5b506102d66108d3565b6040516102989190612847565b3480156102ef57600080fd5b506103036102fe36600461273e565b610965565b6040516001600160a01b039091168152602001610298565b34801561032757600080fd5b5061026a610336366004612691565b6109fa565b34801561034757600080fd5b506009545b604051908152602001610298565b34801561036657600080fd5b5061026a61037536600461259d565b610b10565b34801561038657600080fd5b5061034c610395366004612691565b610b41565b3480156103a657600080fd5b5061026a610bd7565b3480156103bb57600080fd5b5061026a610c0d565b3480156103d057600080fd5b5061026a6103df36600461259d565b610cc5565b3480156103f057600080fd5b5061034c6103ff36600461273e565b610ce0565b34801561041057600080fd5b506102d6610d73565b34801561042557600080fd5b5061026a6104343660046126f5565b610e01565b34801561044557600080fd5b5061030361045436600461273e565b610e3f565b34801561046557600080fd5b5061034c610474366004612548565b6104c46020526000908152604090205481565b34801561049357600080fd5b5061034c6104a2366004612548565b610eb6565b3480156104b357600080fd5b5061026a610f3d565b3480156104c857600080fd5b50600d5461028c9060ff1681565b3480156104e257600080fd5b506000546001600160a01b0316610303565b34801561050057600080fd5b5061026a61050f36600461273e565b610fb1565b34801561052057600080fd5b5061026a61052f3660046126f5565b610fe0565b34801561054057600080fd5b506102d661101d565b34801561055557600080fd5b50600e5461034c565b61026a61056c36600461273e565b61102c565b34801561057d57600080fd5b50600d5461028c90610100900460ff1681565b34801561059c57600080fd5b5061026a6105ab366004612655565b611206565b3480156105bc57600080fd5b5061034c6105cb366004612548565b6001600160a01b031660009081526104c4602052604090205490565b3480156105f357600080fd5b5061026a6112cb565b34801561060857600080fd5b5061026a6106173660046125d9565b611306565b34801561062857600080fd5b5061026a61133e565b34801561063d57600080fd5b506102d661064c36600461273e565b6113f4565b34801561065d57600080fd5b506104b061034c565b34801561067257600080fd5b5061034c600581565b34801561068757600080fd5b5061034c61069636600461273e565b611469565b3480156106a757600080fd5b506106bb6106b6366004612548565b611547565b6040516102989190612803565b3480156106d457600080fd5b506102d6611606565b3480156106e957600080fd5b5061028c6106f836600461256a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561073257600080fd5b5061026a610741366004612691565b611615565b34801561075257600080fd5b5061026a610761366004612548565b611778565b34801561077257600080fd5b506102d6611862565b6002600b5414156107d35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600b553360009081526104c460205260409020546108355760405162461bcd60e51b815260206004820152601e60248201527f596f7520646f6e2774206861766520616e79206672656520726f6c6c7321000060448201526064016107ca565b3360009081526104c4602052604081208054908290559061085560095490565b610861906104b061297d565b90508082111561086f578091505b6108788261186f565b50506001600b55565b600061088c82611910565b92915050565b6000546001600160a01b031633146108bc5760405162461bcd60e51b81526004016107ca906128ac565b80516108cf90600c90602084019061241d565b5050565b6060600180546108e2906129d7565b80601f016020809104026020016040519081016040528092919081815260200182805461090e906129d7565b801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b03166109de5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107ca565b506000908152600560205260409020546001600160a01b031690565b6000610a0582610e3f565b9050806001600160a01b0316836001600160a01b03161415610a735760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107ca565b336001600160a01b0382161480610a8f5750610a8f81336106f8565b610b015760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107ca565b610b0b8383611935565b505050565b610b1a33826119a3565b610b365760405162461bcd60e51b81526004016107ca906128e1565b610b0b838383611a9a565b6000610b4c83610eb6565b8210610bae5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016107ca565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b6000546001600160a01b03163314610c015760405162461bcd60e51b81526004016107ca906128ac565b600d805460ff19169055565b6000546001600160a01b03163314610c375760405162461bcd60e51b81526004016107ca906128ac565b604051600090339047908381818185875af1925050503d8060008114610c79576040519150601f19603f3d011682016040523d82523d6000602084013e610c7e565b606091505b5050905080610cc25760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016107ca565b50565b610b0b83838360405180602001604052806000815250611306565b6000610ceb60095490565b8210610d4e5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016107ca565b60098281548110610d6157610d61612a7d565b90600052602060002001549050919050565b600c8054610d80906129d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610dac906129d7565b8015610df95780601f10610dce57610100808354040283529160200191610df9565b820191906000526020600020905b815481529060010190602001808311610ddc57829003601f168201915b505050505081565b6000546001600160a01b03163314610e2b5760405162461bcd60e51b81526004016107ca906128ac565b80516108cf906104c690602084019061241d565b6000818152600360205260408120546001600160a01b03168061088c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107ca565b60006001600160a01b038216610f215760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107ca565b506001600160a01b031660009081526004602052604090205490565b6000546001600160a01b03163314610f675760405162461bcd60e51b81526004016107ca906128ac565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610fdb5760405162461bcd60e51b81526004016107ca906128ac565b600e55565b6000546001600160a01b0316331461100a5760405162461bcd60e51b81526004016107ca906128ac565b80516108cf90600f90602084019061241d565b6060600280546108e2906129d7565b6002600b54141561107f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107ca565b6002600b55600d5460ff166110cd5760405162461bcd60e51b815260206004820152601460248201527329b0b632903430b9b713ba1039ba30b93a32b21760611b60448201526064016107ca565b60006110d860095490565b90506104b06110e78383612932565b11156111415760405162461bcd60e51b8152602060048201526024808201527f5468657265206172656e27742074686973206d616e79204176614c616e64206c60448201526332b33a1760e11b60648201526084016107ca565b600082600e54611151919061295e565b9050803410156111b35760405162461bcd60e51b815260206004820152602760248201527f546f6f206c6974746c652073656e742c20706c656173652073656e64206d6f72604482015266329020ab20ac1760c91b60648201526084016107ca565b803411156111f357336108fc6111c9833461297d565b6040518115909202916000818181858888f193505050501580156111f1573d6000803e3d6000fd5b505b6111fc8361186f565b50506001600b5550565b6001600160a01b03821633141561125f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107ca565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000546001600160a01b031633146112f55760405162461bcd60e51b81526004016107ca906128ac565b600d805461ffff1916610101179055565b61131033836119a3565b61132c5760405162461bcd60e51b81526004016107ca906128e1565b61133884848484611c45565b50505050565b6000546001600160a01b031633146113685760405162461bcd60e51b81526004016107ca906128ac565b47600061137660648361294a565b61138190600661295e565b9050600061138f828461297d565b6010546040519192506001600160a01b03169083156108fc029084906000818181858888f193505050506113c257600080fd5b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050610b0b57600080fd5b60606000611400611c78565b9050600061140d84611c88565b604080518082019091526005815264173539b7b760d91b602082015283519192509061143b57509392505050565b82828260405160200161145093929190612783565b6040516020818303038152906040529350505050919050565b60006104b08261147860095490565b6114829190612932565b11156114de5760405162461bcd60e51b815260206004820152602560248201527f546865726520617265206e6f742074686973206d616e79204176614c616e64206044820152643632b33a1760d91b60648201526084016107ca565b600582111561153a5760405162461bcd60e51b815260206004820152602260248201527f596f752063616e6e6f74206d696e742074686174206d616e79204176614c616e604482015261321760f11b60648201526084016107ca565b600e5461088c908361295e565b6060600061155483610eb6565b9050806115755760408051600080825260208201909252905b509392505050565b60008167ffffffffffffffff81111561159057611590612a93565b6040519080825280602002602001820160405280156115b9578160200160208202803683370190505b50905060005b8281101561156d576115d18582610b41565b8282815181106115e3576115e3612a7d565b6020908102919091010152806115f881612a0c565b9150506115bf565b50919050565b6060600f80546108e2906129d7565b6000546001600160a01b0316331461163f5760405162461bcd60e51b81526004016107ca906128ac565b60c86104c354106116a15760405162461bcd60e51b815260206004820152602660248201527f416c726561647920676976656e206d6178206e756d626572206f66206672656560448201526520726f6c6c7360d01b60648201526084016107ca565b6001600160a01b03821660009081526104c460205260409020546033906116c9908390612932565b106117225760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742065786365656420353020756e75736564206672656520726f6c6044820152626c732160e81b60648201526084016107ca565b6001600160a01b03821660009081526104c460205260409020546117468282612932565b6001600160a01b03841660009081526104c460205260409020556104c35461176f908390612932565b6104c355505050565b6000546001600160a01b031633146117a25760405162461bcd60e51b81526004016107ca906128ac565b6001600160a01b0381166118075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107ca565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600f8054610d80906129d7565b60058111156118c05760405162461bcd60e51b815260206004820152601960248201527f4d696e74696e6720746f6f206d616e79206174206f6e63652e0000000000000060448201526064016107ca565b6104c25460005b828110156119085760006118db8483611d86565b90506118e73382611e17565b826118f1816129c0565b93505050808061190090612a0c565b9150506118c7565b506104c25550565b60006001600160e01b0319821663780e9d6360e01b148061088c575061088c82611e31565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061196a82610e3f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600360205260408120546001600160a01b0316611a1c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107ca565b6000611a2783610e3f565b9050806001600160a01b0316846001600160a01b03161480611a625750836001600160a01b0316611a5784610965565b6001600160a01b0316145b80611a9257506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611aad82610e3f565b6001600160a01b031614611b155760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016107ca565b6001600160a01b038216611b775760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107ca565b611b82838383611e81565b611b8d600082611935565b6001600160a01b0383166000908152600460205260408120805460019290611bb690849061297d565b90915550506001600160a01b0382166000908152600460205260408120805460019290611be4908490612932565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b611c50848484611a9a565b611c5c84848484611e8c565b6113385760405162461bcd60e51b81526004016107ca9061285a565b60606104c680546108e2906129d7565b606081611cac5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611cd65780611cc081612a0c565b9150611ccf9050600a8361294a565b9150611cb0565b60008167ffffffffffffffff811115611cf157611cf1612a93565b6040519080825280601f01601f191660200182016040528015611d1b576020820181803683370190505b5090505b8415611a9257611d3060018361297d565b9150611d3d600a86612a27565b611d48906030612932565b60f81b818381518110611d5d57611d5d612a7d565b60200101906001600160f81b031916908160001a905350611d7f600a8661294a565b9450611d1f565b600080333a4342611d9860018361297d565b604080516001600160a01b039096166020870152850193909352606084019190915260808301524060a082015260c0810185905260e08101849052610100016040516020818303038152906040528051906020012060001c905060006104c25482611e039190612a27565b9050611e0e81611f99565b95945050505050565b6108cf828260405180602001604052806000815250612054565b60006001600160e01b031982166380ac58cd60e01b1480611e6257506001600160e01b03198216635b5e139f60e01b145b8061088c57506301ffc9a760e01b6001600160e01b031983161461088c565b610b0b838383612087565b60006001600160a01b0384163b15611f8e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611ed09033908990889088906004016127c6565b602060405180830381600087803b158015611eea57600080fd5b505af1925050508015611f1a575060408051601f3d908101601f19168201909252611f17918101906126d8565b60015b611f74573d808015611f48576040519150601f19603f3d011682016040523d82523d6000602084013e611f4d565b606091505b508051611f6c5760405162461bcd60e51b81526004016107ca9061285a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a92565b506001949350505050565b6000806012836104b08110611fb057611fb0612a7d565b01549050600081611fc2575082611fc5565b50805b600060016104c254611fd7919061297d565b90508085146120355760006012826104b08110611ff657611ff6612a7d565b015490508061201b57816012876104b0811061201457612014612a7d565b0155612033565b806012876104b0811061203057612030612a7d565b01555b505b6104c28054906000612046836129c0565b909155509195945050505050565b61205e838361213f565b61206b6000848484611e8c565b610b0b5760405162461bcd60e51b81526004016107ca9061285a565b6001600160a01b0383166120e2576120dd81600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b612105565b816001600160a01b0316836001600160a01b03161461210557612105838261228d565b6001600160a01b03821661211c57610b0b8161232a565b826001600160a01b0316826001600160a01b031614610b0b57610b0b82826123d9565b6001600160a01b0382166121955760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107ca565b6000818152600360205260409020546001600160a01b0316156121fa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107ca565b61220660008383611e81565b6001600160a01b038216600090815260046020526040812080546001929061222f908490612932565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000600161229a84610eb6565b6122a4919061297d565b6000838152600860205260409020549091508082146122f7576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b60095460009061233c9060019061297d565b6000838152600a60205260408120546009805493945090928490811061236457612364612a7d565b90600052602060002001549050806009838154811061238557612385612a7d565b6000918252602080832090910192909255828152600a909152604080822084905585825281205560098054806123bd576123bd612a67565b6001900381819060005260206000200160009055905550505050565b60006123e483610eb6565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b828054612429906129d7565b90600052602060002090601f01602090048101928261244b5760008555612491565b82601f1061246457805160ff1916838001178555612491565b82800160010185558215612491579182015b82811115612491578251825591602001919060010190612476565b5061249d9291506124a1565b5090565b5b8082111561249d57600081556001016124a2565b600067ffffffffffffffff808411156124d1576124d1612a93565b604051601f8501601f19908116603f011681019082821181831017156124f9576124f9612a93565b8160405280935085815286868601111561251257600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461254357600080fd5b919050565b60006020828403121561255a57600080fd5b6125638261252c565b9392505050565b6000806040838503121561257d57600080fd5b6125868361252c565b91506125946020840161252c565b90509250929050565b6000806000606084860312156125b257600080fd5b6125bb8461252c565b92506125c96020850161252c565b9150604084013590509250925092565b600080600080608085870312156125ef57600080fd5b6125f88561252c565b93506126066020860161252c565b925060408501359150606085013567ffffffffffffffff81111561262957600080fd5b8501601f8101871361263a57600080fd5b612649878235602084016124b6565b91505092959194509250565b6000806040838503121561266857600080fd5b6126718361252c565b91506020830135801515811461268657600080fd5b809150509250929050565b600080604083850312156126a457600080fd5b6126ad8361252c565b946020939093013593505050565b6000602082840312156126cd57600080fd5b813561256381612aa9565b6000602082840312156126ea57600080fd5b815161256381612aa9565b60006020828403121561270757600080fd5b813567ffffffffffffffff81111561271e57600080fd5b8201601f8101841361272f57600080fd5b611a92848235602084016124b6565b60006020828403121561275057600080fd5b5035919050565b6000815180845261276f816020860160208601612994565b601f01601f19169290920160200192915050565b60008451612795818460208901612994565b8451908301906127a9818360208901612994565b84519101906127bc818360208801612994565b0195945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906127f990830184612757565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561283b5783518352928401929184019160010161281f565b50909695505050505050565b6020815260006125636020830184612757565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6000821982111561294557612945612a3b565b500190565b60008261295957612959612a51565b500490565b600081600019048311821515161561297857612978612a3b565b500290565b60008282101561298f5761298f612a3b565b500390565b60005b838110156129af578181015183820152602001612997565b838111156113385750506000910152565b6000816129cf576129cf612a3b565b506000190190565b600181811c908216806129eb57607f821691505b6020821081141561160057634e487b7160e01b600052602260045260246000fd5b6000600019821415612a2057612a20612a3b565b5060010190565b600082612a3657612a36612a51565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610cc257600080fdfea26469706673582212200af7b6d3d940f7511f26d0435d58a97e4a7a71eec8727c94e587cbad6e5ecec664736f6c63430008070033