[ { "inputs": [ { "internalType": "contract Cocaine", "name": "_cocaine", "type": "address" }, { "internalType": "contract Diesel", "name": "_diesel", "type": "address" }, { "internalType": "string", "name": "_BASE_URI", "type": "string" } ], "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "level", "type": "uint256" } ], "name": "onUpgradeCreated", "type": "event" }, { "inputs": [], "name": "BASE_URI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LP_TAX_PERCENT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_priceCocaine", "type": "uint256" }, { "internalType": "uint256", "name": "_priceDiesel", "type": "uint256" }, { "internalType": "uint256", "name": "_yield", "type": "uint256" } ], "name": "addLevel", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "uint256", "name": "_offset", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSize", "type": "uint256" } ], "name": "batchedUpgradesOfOwner", "outputs": [ { "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "level", "type": "uint256" }, { "internalType": "uint256", "name": "yield", "type": "uint256" } ], "internalType": "struct Upgrade.UpgradeInfo[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" }, { "internalType": "uint256", "name": "_maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_priceCocaine", "type": "uint256" }, { "internalType": "uint256", "name": "_priceDiesel", "type": "uint256" }, { "internalType": "uint256", "name": "_yield", "type": "uint256" } ], "name": "changeLevel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IERC20", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "target", "type": "address" } ], "name": "forwardERC20s", "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": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getLevel", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getYield", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "haciendaAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "levels", "outputs": [ { "internalType": "uint256", "name": "supply", "type": "uint256" }, { "internalType": "uint256", "name": "maxSupply", "type": "uint256" }, { "internalType": "uint256", "name": "priceCocaine", "type": "uint256" }, { "internalType": "uint256", "name": "priceDiesel", "type": "uint256" }, { "internalType": "uint256", "name": "yield", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_level", "type": "uint256" }, { "internalType": "uint256", "name": "_qty", "type": "uint256" } ], "name": "mintUpgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingStarted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_BASE_URI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract Cocaine", "name": "_cocaine", "type": "address" } ], "name": "setCocaine", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract Diesel", "name": "_diesel", "type": "address" } ], "name": "setDiesel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_haciendaAddress", "type": "address" } ], "name": "setHaciendaAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_startTime", "type": "uint256" } ], "name": "setStartTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "upgradesMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
608060405260006012553480156200001657600080fd5b50604051620039cc380380620039cc833981016040819052620000399162000599565b6040518060400160405280601881526020017f43617274656c2047616d65204661726d657220546f6f6c7300000000000000008152506040518060400160405280601881526020017f434f4341494e452d47414d452d4641524d45522d544f4f4c00000000000000008152508160009080519060200190620000bd929190620004ab565b508051620000d3906001906020840190620004ab565b50505062000102620000f362000455640100000000026401000000009004565b64010000000062000459810204565b600a805460a060020a60ff0219169055600b8054600160a060020a03808616600160a060020a031992831617909255600c80549285169290911691909117905580516200015790600e906020840190620004ab565b50506040805160a0808201835260008083526109c460208085019182526901e7e4171bf4d3a000008587019081526801a055690d9db80000606080880191825260016080808a0182815288805260108088529a517f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb015596517f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb025593517f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb035591517f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb045593517f6e0956cda88cad152e89927e53611735b61a5c762d1428573c6931b0a5efcb0555875180870189528581526108988185019081526904c3ba39c5e411100000828b019081526802b5e3af16b188000083880190815260038487019081529489528a875292517f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b5f5590517f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b6055517f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b6155517f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b6255517f8c6065603763fec3f5742441d3833f3f43b982453612d76adb39a885e3006b6355865194850187528385526107d08583019081526907695a92c20d6fe00000978601978852680410d586a20a4c000093860193845260059186019182526002948590529590915292517f853b2fefe141400fef543280f93d98bd49996069f632d0d20236afeeed8e46a25592517f853b2fefe141400fef543280f93d98bd49996069f632d0d20236afeeed8e46a35592517f853b2fefe141400fef543280f93d98bd49996069f632d0d20236afeeed8e46a45590517f853b2fefe141400fef543280f93d98bd49996069f632d0d20236afeeed8e46a555517f853b2fefe141400fef543280f93d98bd49996069f632d0d20236afeeed8e46a65560115550620006fa9050565b3390565b600a8054600160a060020a03838116600160a060020a0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620004b990620006a4565b90600052602060002090601f016020900481019282620004dd576000855562000528565b82601f10620004f857805160ff191683800117855562000528565b8280016001018555821562000528579182015b82811115620005285782518255916020019190600101906200050b565b50620005369291506200053a565b5090565b5b808211156200053657600081556001016200053b565b600160a060020a03811681146200056757600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600060608486031215620005af57600080fd5b8351620005bc8162000551565b80935050602080850151620005d18162000551565b604086015190935067ffffffffffffffff80821115620005f057600080fd5b818701915087601f8301126200060557600080fd5b8151818111156200061a576200061a6200056a565b604051601f8201601f19908116603f011681019083821181831017156200064557620006456200056a565b816040528281528a868487010111156200065e57600080fd5b600093505b8284101562000682578484018601518185018701529285019262000663565b82841115620006945760008684830101525b8096505050505050509250925092565b600281046001821680620006b957607f821691505b60208210811415620006f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6132c2806200070a6000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e060020a9004806370a082311161013f578063a7d15b6e116100bc578063dbddb26a11610080578063dbddb26a1461052d578063e06b971714610535578063e985e9c514610548578063eaa5228f1461055b578063f2fde38b1461056e57600080fd5b8063a7d15b6e14610487578063abbc6d3f1461049a578063b2596a67146104a2578063b88d4fde14610507578063c87b56dd1461051a57600080fd5b806386481d401161010357806386481d401461042857806388d301861461043b5780638da5cb5b1461045b57806395d89b411461046c578063a22cb4651461047457600080fd5b806370a08231146103de578063715018a6146103f157806378e97925146103f95780637acd62c4146104025780637cc8ef631461041557600080fd5b80632ecd520e116101cd5780634f6ccce7116101915780634f6ccce71461037a57806355f804b31461038d5780635c975abb146103a05780636352211e146103c35780636f8608e4146103d657600080fd5b80632ecd520e1461031b5780632f745c591461032e5780633e0a322d1461034157806342842e0e1461035457806343f37b981461036757600080fd5b8063081812fc11610214578063081812fc146102ad578063095ea7b3146102d857806318160ddd146102ed57806323b872dd146102f55780632d625bfa1461030857600080fd5b806301ffc9a714610246578063047f3af11461026e57806306fdde03146102855780630805d8841461029a575b600080fd5b610259610254366004612abe565b610581565b60405190151581526020015b60405180910390f35b61027760125481565b604051908152602001610265565b61028d6105c5565b6040516102659190612b33565b6102776102a8366004612b46565b610657565b6102c06102bb366004612b46565b6106d9565b604051600160a060020a039091168152602001610265565b6102eb6102e6366004612b74565b610775565b005b600854610277565b6102eb610303366004612ba0565b6108ad565b600d546102c090600160a060020a031681565b6102eb610329366004612be1565b6108e1565b61027761033c366004612b74565b61097c565b6102eb61034f366004612b46565b610a27565b6102eb610362366004612ba0565b610b03565b6102eb610375366004612c13565b610b1e565b610277610388366004612b46565b610b5f565b6102eb61039b366004612c55565b610c06565b600a5474010000000000000000000000000000000000000000900460ff16610259565b6102c06103d1366004612b46565b610c3f565b610259610ccd565b6102776103ec366004612cc7565b610ce8565b6102eb610d85565b610277600f5481565b6102eb610410366004612cc7565b610dbe565b6102eb610423366004612ce4565b610e0d565b610277610436366004612b46565b61145a565b61044e610449366004612d06565b6114c7565b6040516102659190612d3b565b600a54600160a060020a03166102c0565b61028d611665565b6102eb610482366004612da2565b611674565b6102eb610495366004612cc7565b611683565b610277600281565b6104df6104b0366004612b46565b601060205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a001610265565b6102eb610515366004612df4565b6116d2565b61028d610528366004612b46565b61170d565b61028d6117e2565b6102eb610543366004612ed4565b611870565b610259610556366004612f0f565b611948565b6102eb610569366004612cc7565b6119ad565b6102eb61057c366004612cc7565b6119fc565b6000600160e060020a031982167f780e9d630000000000000000000000000000000000000000000000000000000014806105bf57506105bf82611ab4565b92915050565b6060600080546105d490612f3d565b80601f016020809104026020016040519081016040528092919081815260200182805461060090612f3d565b801561064d5780601f106106225761010080835404028352916020019161064d565b820191906000526020600020905b81548152906001019060200180831161063057829003601f168201915b5050505050905090565b600061066282611b4f565b6106b65760405160e560020a62461bcd02815260206004820152601460248201527f746f6b656e20646f6573206e6f7420657869737400000000000000000000000060448201526064015b60405180910390fd5b506000908152601360209081526040808320548352601090915290206004015490565b60006106e482611b4f565b6107595760405160e560020a62461bcd02815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084016106ad565b50600090815260046020526040902054600160a060020a031690565b600061078082610c3f565b905080600160a060020a031683600160a060020a0316141561080d5760405160e560020a62461bcd02815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106ad565b33600160a060020a038216148061082957506108298133611948565b61089e5760405160e560020a62461bcd02815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106ad565b6108a88383611b6c565b505050565b6108b73382611bda565b6108d65760405160e560020a62461bcd0281526004016106ad90612f7b565b6108a8838383611cb8565b600a54600160a060020a0316331461090e5760405160e560020a62461bcd0281526004016106ad90612fd8565b6011805490600061091e83613026565b90915550506040805160a0810182526000808252602080830197885282840196875260608301958652608083019485526011548252601090529190912090518155935160018501559151600284015551600383015551600490910155565b600061098783610ce8565b82106109fe5760405160e560020a62461bcd02815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e647300000000000000000000000000000000000000000060648201526084016106ad565b50600160a060020a03919091166000908152600660209081526040808320938352929052205490565b600a54600160a060020a03163314610a545760405160e560020a62461bcd0281526004016106ad90612fd8565b428111610aa65760405160e560020a62461bcd02815260206004820152601b60248201527f737461727454696d65206d75737420626520696e20667574757265000000000060448201526064016106ad565b610aae610ccd565b15610afe5760405160e560020a62461bcd02815260206004820152601760248201527f6d696e74696e6720616c7265616479207374617274656400000000000000000060448201526064016106ad565b600f55565b6108a8838383604051806020016040528060008152506116d2565b600a54600160a060020a03163314610b4b5760405160e560020a62461bcd0281526004016106ad90612fd8565b6108a8600160a060020a0384168284611e96565b6000610b6a60085490565b8210610be15760405160e560020a62461bcd02815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e6473000000000000000000000000000000000000000060648201526084016106ad565b60088281548110610bf457610bf4613041565b90600052602060002001549050919050565b600a54600160a060020a03163314610c335760405160e560020a62461bcd0281526004016106ad90612fd8565b6108a8600e8383612a0f565b600081815260026020526040812054600160a060020a0316806105bf5760405160e560020a62461bcd02815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e000000000000000000000000000000000000000000000060648201526084016106ad565b6000600f54600014158015610ce35750600f5442115b905090565b6000600160a060020a038216610d695760405160e560020a62461bcd02815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f20616464726573730000000000000000000000000000000000000000000060648201526084016106ad565b50600160a060020a031660009081526003602052604090205490565b600a54600160a060020a03163314610db25760405160e560020a62461bcd0281526004016106ad90612fd8565b610dbc6000611f16565b565b600a54600160a060020a03163314610deb5760405160e560020a62461bcd0281526004016106ad90612fd8565b600b8054600160a060020a031916600160a060020a0392909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615610e7b5760405160e560020a62461bcd02815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016106ad565b610e83610ccd565b610ed25760405160e560020a62461bcd02815260206004820152601860248201527f546f6f6c732073616c657320617265206e6f74206f70656e000000000000000060448201526064016106ad565b600081118015610ee35750600a8111155b610f585760405160e560020a62461bcd02815260206004820152602160248201527f7175616e74697479206d757374206265206265747765656e203120616e64203160448201527f300000000000000000000000000000000000000000000000000000000000000060648201526084016106ad565b601154821115610fad5760405160e560020a62461bcd02815260206004820152600d60248201527f696e76616c6964206c6576656c0000000000000000000000000000000000000060448201526064016106ad565b600082815260106020526040902060018101549054610fcd90839061305a565b11156110445760405160e560020a62461bcd02815260206004820152602260248201527f796f752063616e2774206d696e742074686174206d616e79207269676874206e60448201527f6f7700000000000000000000000000000000000000000000000000000000000060648201526084016106ad565b600082815260106020526040812060020154611061908390613072565b60008481526010602052604081206003015491925090611082908490613072565b600b549091508290600160a060020a03166370a082313360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381865afa1580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ff9190613091565b10156111505760405160e560020a62461bcd02815260206004820152601760248201527f6e6f74206861766520656e6f75676820434f4341494e4500000000000000000060448201526064016106ad565b600c548190600160a060020a03166370a082313360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190613091565b101561121b5760405160e560020a62461bcd02815260206004820152601660248201527f6e6f74206861766520656e6f7567682044494553454c0000000000000000000060448201526064016106ad565b611226838533611f68565b600b54600160a060020a0316639dc29fac3360646112456002826130aa565b61124f9087613072565b61125991906130da565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15801561129d57600080fd5b505af11580156112b1573d6000803e3d6000fd5b5050600c54600160a060020a03169150639dc29fac90503360646112d66002826130aa565b6112e09086613072565b6112ea91906130da565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15801561132e57600080fd5b505af1158015611342573d6000803e3d6000fd5b5050600b54600160a060020a0316915063bca6c7539050336064611367600287613072565b61137191906130da565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1580156113b557600080fd5b505af11580156113c9573d6000803e3d6000fd5b5050600c54600160a060020a0316915063bca6c75390503360646113ee600286613072565b6113f891906130da565b60405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b5050505050505050565b600061146582611b4f565b6114b45760405160e560020a62461bcd02815260206004820152601460248201527f746f6b656e20646f6573206e6f7420657869737400000000000000000000000060448201526064016106ad565b5060009081526013602052604090205490565b60606114d284610ce8565b831061152d576040805160008082526020820190925290611525565b61151260405180606001604052806000815260200160008152602001600081525090565b8152602001906001900390816114ee5790505b50905061165e565b8161153785610ce8565b611541848661305a565b1061155d578361155086610ce8565b61155a91906130aa565b90505b60008167ffffffffffffffff81111561157857611578612ddb565b6040519080825280602002602001820160405280156115cd57816020015b6115ba60405180606001604052806000815260200160008152602001600081525090565b8152602001906001900390816115965790505b50905060005b828110156116595760006115eb8861033c848a61305a565b6040805160608101825282815260008381526013602090815283822054818401819052825260109052829020600401549181019190915284519192509084908490811061163a5761163a613041565b602002602001018190525050808061165190613026565b9150506115d3565b509150505b9392505050565b6060600180546105d490612f3d565b61167f338383612015565b5050565b600a54600160a060020a031633146116b05760405160e560020a62461bcd0281526004016106ad90612fd8565b600c8054600160a060020a031916600160a060020a0392909216919091179055565b6116dc3383611bda565b6116fb5760405160e560020a62461bcd0281526004016106ad90612f7b565b611707848484846120e7565b50505050565b606061171882611b4f565b61178d5760405160e560020a62461bcd02815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e000000000000000000000000000000000060648201526084016106ad565b6000828152601360205260408120546117a790600161305a565b90506117b161211d565b6117ba8261212c565b6040516020016117cb9291906130ee565b604051602081830303815290604052915050919050565b600e80546117ef90612f3d565b80601f016020809104026020016040519081016040528092919081815260200182805461181b90612f3d565b80156118685780601f1061183d57610100808354040283529160200191611868565b820191906000526020600020905b81548152906001019060200180831161184b57829003601f168201915b505050505081565b600a54600160a060020a0316331461189d5760405160e560020a62461bcd0281526004016106ad90612fd8565b6011548511156118f25760405160e560020a62461bcd02815260206004820152600d60248201527f696e76616c6964206c6576656c0000000000000000000000000000000000000060448201526064016106ad565b6040805160a0810182526000808252602080830197885282840196875260608301958652608083019485529781526010909752952094518555925160018501559051600284015551600383015551600490910155565b600d54600090600160a060020a0316158015906119725750600d54600160a060020a038381169116145b1561197f575060016105bf565b600160a060020a0380841660009081526005602090815260408083209386168352929052205460ff1661165e565b600a54600160a060020a031633146119da5760405160e560020a62461bcd0281526004016106ad90612fd8565b600d8054600160a060020a031916600160a060020a0392909216919091179055565b600a54600160a060020a03163314611a295760405160e560020a62461bcd0281526004016106ad90612fd8565b600160a060020a038116611aa85760405160e560020a62461bcd02815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106ad565b611ab181611f16565b50565b6000600160e060020a031982167f80ac58cd000000000000000000000000000000000000000000000000000000001480611b175750600160e060020a031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806105bf57507f01ffc9a700000000000000000000000000000000000000000000000000000000600160e060020a03198316146105bf565b600090815260026020526040902054600160a060020a0316151590565b60008181526004602052604090208054600160a060020a031916600160a060020a0384169081179091558190611ba182610c3f565b600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611be582611b4f565b611c5a5760405160e560020a62461bcd02815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084016106ad565b6000611c6583610c3f565b905080600160a060020a031684600160a060020a03161480611ca0575083600160a060020a0316611c95846106d9565b600160a060020a0316145b80611cb05750611cb08185611948565b949350505050565b82600160a060020a0316611ccb82610c3f565b600160a060020a031614611d4a5760405160e560020a62461bcd02815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e657200000000000000000000000000000000000000000000000000000060648201526084016106ad565b600160a060020a038216611dc85760405160e560020a62461bcd028152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106ad565b611dd383838361227d565b611dde600082611b6c565b600160a060020a0383166000908152600360205260408120805460019290611e079084906130aa565b9091555050600160a060020a0382166000908152600360205260408120805460019290611e3590849061305a565b90915550506000818152600260205260408082208054600160a060020a031916600160a060020a0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60408051600160a060020a038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526108a8908490612335565b600a8054600160a060020a03838116600160a060020a0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b8381101561170757600160126000828254611f86919061305a565b90915550506000838152601060205260408120805460019290611faa90849061305a565b909155505060128054600090815260136020526040902084905554611fd090839061241d565b6040518381527fbd8dec1c83646f9f8c3ca8465376ed8174df592e995a30a206944b013ca6bcb59060200160405180910390a18061200d81613026565b915050611f6b565b81600160a060020a031683600160a060020a0316141561207a5760405160e560020a62461bcd02815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106ad565b600160a060020a03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6120f2848484611cb8565b6120fe84848484612437565b6117075760405160e560020a62461bcd0281526004016106ad90613170565b6060600e80546105d490612f3d565b60608161216c57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115612196578061218081613026565b915061218f9050600a836130da565b9150612170565b60008167ffffffffffffffff8111156121b1576121b1612ddb565b6040519080825280601f01601f1916602001820160405280156121db576020820181803683370190505b5090505b8415611cb0576121f06001836130aa565b91506121fd600a866131cd565b61220890603061305a565b7f01000000000000000000000000000000000000000000000000000000000000000281838151811061223c5761223c613041565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350612276600a866130da565b94506121df565b600160a060020a0383166122d8576122d381600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6122fb565b81600160a060020a031683600160a060020a0316146122fb576122fb838261256a565b600160a060020a038216612312576108a881612607565b82600160a060020a031682600160a060020a0316146108a8576108a882826126b6565b600061238a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525085600160a060020a03166126fa9092919063ffffffff16565b8051909150156108a857808060200190518101906123a891906131e1565b6108a85760405160e560020a62461bcd02815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106ad565b61167f828260405180602001604052806000815250612709565b6000600160a060020a0384163b1561255f576040517f150b7a02000000000000000000000000000000000000000000000000000000008152600160a060020a0385169063150b7a02906124949033908990889088906004016131fe565b6020604051808303816000875af19250505080156124cf575060408051601f3d908101601f191682019092526124cc9181019061323a565b60015b61252c573d8080156124fd576040519150601f19603f3d011682016040523d82523d6000602084013e612502565b606091505b5080516125245760405160e560020a62461bcd0281526004016106ad90613170565b805181602001fd5b600160e060020a0319167f150b7a0200000000000000000000000000000000000000000000000000000000149050611cb0565b506001949350505050565b6000600161257784610ce8565b61258191906130aa565b6000838152600760205260409020549091508082146125d457600160a060020a03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b506000918252600760209081526040808420849055600160a060020a039094168352600681528383209183525290812055565b600854600090612619906001906130aa565b6000838152600960205260408120546008805493945090928490811061264157612641613041565b90600052602060002001549050806008838154811061266257612662613041565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061269a5761269a613257565b6001900381819060005260206000200160009055905550505050565b60006126c183610ce8565b600160a060020a039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6060611cb0848460008561273f565b612713838361288e565b6127206000848484612437565b6108a85760405160e560020a62461bcd0281526004016106ad90613170565b606030318311156127bb5760405160e560020a62461bcd02815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106ad565b600160a060020a0385163b6128155760405160e560020a62461bcd02815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106ad565b60008086600160a060020a031685876040516128319190613270565b60006040518083038185875af1925050503d806000811461286e576040519150601f19603f3d011682016040523d82523d6000602084013e612873565b606091505b50915091506128838282866129d3565b979650505050505050565b600160a060020a0382166128e75760405160e560020a62461bcd02815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106ad565b6128f081611b4f565b156129405760405160e560020a62461bcd02815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106ad565b61294c6000838361227d565b600160a060020a038216600090815260036020526040812080546001929061297590849061305a565b90915550506000818152600260205260408082208054600160a060020a031916600160a060020a03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b606083156129e257508161165e565b8251156129f25782518084602001fd5b8160405160e560020a62461bcd0281526004016106ad9190612b33565b828054612a1b90612f3d565b90600052602060002090601f016020900481019282612a3d5760008555612a83565b82601f10612a565782800160ff19823516178555612a83565b82800160010185558215612a83579182015b82811115612a83578235825591602001919060010190612a68565b50612a8f929150612a93565b5090565b5b80821115612a8f5760008155600101612a94565b600160e060020a031981168114611ab157600080fd5b600060208284031215612ad057600080fd5b813561165e81612aa8565b60005b83811015612af6578181015183820152602001612ade565b838111156117075750506000910152565b60008151808452612b1f816020860160208601612adb565b601f01601f19169290920160200192915050565b60208152600061165e6020830184612b07565b600060208284031215612b5857600080fd5b5035919050565b600160a060020a0381168114611ab157600080fd5b60008060408385031215612b8757600080fd5b8235612b9281612b5f565b946020939093013593505050565b600080600060608486031215612bb557600080fd5b8335612bc081612b5f565b92506020840135612bd081612b5f565b929592945050506040919091013590565b60008060008060808587031215612bf757600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060608486031215612c2857600080fd5b8335612c3381612b5f565b9250602084013591506040840135612c4a81612b5f565b809150509250925092565b60008060208385031215612c6857600080fd5b823567ffffffffffffffff80821115612c8057600080fd5b818501915085601f830112612c9457600080fd5b813581811115612ca357600080fd5b866020828501011115612cb557600080fd5b60209290920196919550909350505050565b600060208284031215612cd957600080fd5b813561165e81612b5f565b60008060408385031215612cf757600080fd5b50508035926020909101359150565b600080600060608486031215612d1b57600080fd5b8335612d2681612b5f565b95602085013595506040909401359392505050565b602080825282518282018190526000919060409081850190868401855b82811015612d875781518051855286810151878601528501518585015260609093019290850190600101612d58565b5091979650505050505050565b8015158114611ab157600080fd5b60008060408385031215612db557600080fd5b8235612dc081612b5f565b91506020830135612dd081612d94565b809150509250929050565b60e060020a634e487b7102600052604160045260246000fd5b60008060008060808587031215612e0a57600080fd5b8435612e1581612b5f565b93506020850135612e2581612b5f565b925060408501359150606085013567ffffffffffffffff80821115612e4957600080fd5b818701915087601f830112612e5d57600080fd5b813581811115612e6f57612e6f612ddb565b604051601f8201601f19908116603f01168101908382118183101715612e9757612e97612ddb565b816040528281528a6020848701011115612eb057600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600080600080600060a08688031215612eec57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060408385031215612f2257600080fd5b8235612f2d81612b5f565b91506020830135612dd081612b5f565b600281046001821680612f5157607f821691505b60208210811415612f755760e060020a634e487b7102600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60408201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60e060020a634e487b7102600052601160045260246000fd5b600060001982141561303a5761303a61300d565b5060010190565b60e060020a634e487b7102600052603260045260246000fd5b6000821982111561306d5761306d61300d565b500190565b600081600019048311821515161561308c5761308c61300d565b500290565b6000602082840312156130a357600080fd5b5051919050565b6000828210156130bc576130bc61300d565b500390565b60e060020a634e487b7102600052601260045260246000fd5b6000826130e9576130e96130c1565b500490565b60008351613100818460208801612adb565b7f2f00000000000000000000000000000000000000000000000000000000000000908301908152835161313a816001840160208801612adb565b7f2e6a736f6e00000000000000000000000000000000000000000000000000000060019290910191820152600601949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527f63656976657220696d706c656d656e7465720000000000000000000000000000606082015260800190565b6000826131dc576131dc6130c1565b500690565b6000602082840312156131f357600080fd5b815161165e81612d94565b6000600160a060020a038087168352808616602084015250836040830152608060608301526132306080830184612b07565b9695505050505050565b60006020828403121561324c57600080fd5b815161165e81612aa8565b60e060020a634e487b7102600052603160045260246000fd5b60008251613282818460208701612adb565b919091019291505056fea2646970667358221220ffe368353beb6072cf9d1debb26ccc8d03381db562652cbd38c1b6e9494d473c64736f6c634300080b0033000000000000000000000000b38555bf1c1e820737e6d63b1103db8f3b9b8a020000000000000000000000001ddad9f3b9fc7431dd5dc18af1cc59934f71c01c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f68747470733a2f2f6170692e63617274656c2e67616d652f7374617469632f00