[
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
60c0604052600a608090815269436c656d656e74696e6560b01b60a05260029061002990826102e7565b5060408051808201909152600481526321a626a760e11b602082015260039061005290826102e7565b506004805460ff1916601290811790915561006e90600a61049c565b61007c9063b2d05e006104ae565b6012556004546100909060ff16600a61049c565b61009e90631ad274806104ae565b6013556004546100b29060ff16600a61049c565b6100c0906308f0d1806104ae565b6014556004546100d49060ff16600a61049c565b6100e2906311e1a3006104ae565b6015556004546100f69060ff16600a61049c565b610104906311e1a3006104ae565b6016556004546101189060ff16600a61049c565b610126906323c346006104ae565b60175560045461013a9060ff16600a61049c565b61014890632756cd006104ae565b60185560045461015c9060ff16600a61049c565b61016a9063202fbf006104ae565b601955348015610178575f80fd5b50338061019e57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6101a781610200565b50600180556012546005819055335f81815260066020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104c5565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061027757607f821691505b60208210810361029557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102e257805f5260205f20601f840160051c810160208510156102c05750805b601f840160051c820191505b818110156102df575f81556001016102cc565b50505b505050565b81516001600160401b038111156103005761030061024f565b6103148161030e8454610263565b8461029b565b602080601f831160018114610347575f84156103305750858301515b5f19600386901b1c1916600185901b17855561039e565b5f85815260208120601f198616915b8281101561037557888601518255948401946001909101908401610356565b508582101561039257878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156103f457815f19048211156103da576103da6103a6565b808516156103e757918102915b93841c93908002906103bf565b509250929050565b5f8261040a57506001610496565b8161041657505f610496565b816001811461042c576002811461043657610452565b6001915050610496565b60ff841115610447576104476103a6565b50506001821b610496565b5060208310610133831016604e8410600b8410161715610475575081810a610496565b61047f83836103ba565b805f1904821115610492576104926103a6565b0290505b92915050565b5f6104a783836103fc565b9392505050565b8082028115828204841417610496576104966103a6565b61152e806104d25f395ff3fe608060405234801561000f575f80fd5b506004361061024a575f3560e01c80638da5cb5b11610140578063c9df3645116100bf578063e74f3fbb11610084578063e74f3fbb146104ca578063f2fde38b146104d2578063f45859a2146104e5578063f97f2924146104ee578063fb9f0a56146104f7578063fd99cbed1461050a575f80fd5b8063c9df36451461045e578063caea117b14610471578063ce423ed414610484578063dd62ed3e1461048d578063e0a668b4146104b7575f80fd5b80639bc289f1116101055780639bc289f1146103f15780639c89a76614610410578063a9059cbb14610423578063b014e98f14610436578063b13e4a9d1461043f575f80fd5b80638da5cb5b146103b45780638e80bd39146103ce578063902d55a5146103d757806390534f24146103e057806395d89b41146103e9575f80fd5b8063329430ca116101cc5780636a265517116101915780636a2655171461036857806370a0823114610371578063715018a614610390578063771d9d05146103985780637f308bc5146103a1575f80fd5b8063329430ca1461031b578063384711cc14610324578063414650ef146103435780634fab98af1461034c578063642beacf1461035f575f80fd5b8063215a1ec911610212578063215a1ec9146102b857806323b872dd146102c1578063271d0f58146102d45780632e0a3617146102e9578063313ce567146102fc575f80fd5b806306fdde031461024e578063095ea7b31461026c5780630a5ae4461461028f57806318160ddd146102a65780631f6722b6146102af575b5f80fd5b610256610513565b60405161026391906112ee565b60405180910390f35b61027f61027a36600461133e565b61059f565b6040519015158152602001610263565b61029860115481565b604051908152602001610263565b61029860055481565b610298600d5481565b610298600f5481565b61027f6102cf366004611366565b610660565b6102e76102e236600461139f565b610806565b005b6102e76102f736600461139f565b610902565b6004546103099060ff1681565b60405160ff9091168152602001610263565b610298600c5481565b61029861033236600461139f565b60096020525f908152604090205481565b610298600e5481565b6102e761035a36600461139f565b6109aa565b61029860165481565b61029860185481565b61029861037f36600461139f565b60066020525f908152604090205481565b6102e7610a52565b610298600b5481565b6102e76103af36600461139f565b610a65565b5f546040516001600160a01b039091168152602001610263565b61029860155481565b61029860125481565b61029860135481565b610256610b0d565b6102986103ff36600461139f565b60086020525f908152604090205481565b6102e761041e36600461139f565b610b1a565b61027f61043136600461133e565b610bce565b61029860175481565b61029861044d36600461139f565b600a6020525f908152604090205481565b6102e761046c36600461139f565b610cfa565b6102e761047f36600461139f565b610da2565b61029860105481565b61029861049b3660046113b8565b600760209081525f928352604080842090915290825290205481565b6102e76104c53660046113e9565b610e4a565b6102e7610f2b565b6102e76104e036600461139f565b611007565b610298601a5481565b61029860195481565b6102e7610505366004611419565b611044565b61029860145481565b6002805461052090611430565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90611430565b80156105975780601f1061056e57610100808354040283529160200191610597565b820191905f5260205f20905b81548152906001019060200180831161057a57829003601f168201915b505050505081565b5f6001600160a01b0383166105fb5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964207370656e646572206164647265737300000000000000000060448201526064015b60405180910390fd5b335f8181526007602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600660205260408120548211156106be5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016105f2565b6001600160a01b0384165f9081526007602090815260408083203384529091529020548211156107255760405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b60448201526064016105f2565b6001600160a01b0384165f90815260066020526040902054610747908361114f565b6001600160a01b038086165f9081526006602052604080822093909355908516815220546107759083611161565b6001600160a01b038085165f9081526006602090815260408083209490945591871681526007825282812033825290915220546107b2908361114f565b6001600160a01b038581165f81815260076020908152604080832033845282529182902094909455518581529186169290915f805160206114d9833981519152910160405180910390a35060019392505050565b61080e61116c565b601654600e541061086c5760405162461bcd60e51b815260206004820152602260248201527f4561726c792041646f707465727320616c6c6f636174696f6e20657863656564604482015261195960f21b60648201526084016105f2565b5f610884600e5460165461114f90919063ffffffff16565b600e549091506108949082611161565b600e556001600160a01b0382165f908152600660205260409020546108b99082611161565b6001600160a01b0383165f818152600660205260408082209390935591519091905f805160206114d9833981519152906108f69085815260200190565b60405180910390a35050565b61090a61116c565b601754600f541061095d5760405162461bcd60e51b815260206004820152601d60248201527f50726573616c65203120616c6c6f636174696f6e20657863656564656400000060448201526064016105f2565b5f610975600f5460175461114f90919063ffffffff16565b600f549091506109859082611161565b600f556001600160a01b0382165f908152600660205260409020546108b99082611161565b6109b261116c565b601554600d5410610a055760405162461bcd60e51b815260206004820152601d60248201527f4d61726b6574696e6720616c6c6f636174696f6e20657863656564656400000060448201526064016105f2565b5f610a1d600d5460155461114f90919063ffffffff16565b600d54909150610a2d9082611161565b600d556001600160a01b0382165f908152600660205260409020546108b99082611161565b610a5a61116c565b610a635f611198565b565b610a6d61116c565b60185460105410610ac05760405162461bcd60e51b815260206004820152601d60248201527f50726573616c65203220616c6c6f636174696f6e20657863656564656400000060448201526064016105f2565b5f610ad860105460185461114f90919063ffffffff16565b601054909150610ae89082611161565b6010556001600160a01b0382165f908152600660205260409020546108b99082611161565b6003805461052090611430565b610b2261116c565b60195460115410610b815760405162461bcd60e51b815260206004820152602360248201527f436f6d70616e79205265736572766520616c6c6f636174696f6e20657863656560448201526219195960ea1b60648201526084016105f2565b5f610b9960115460195461114f90919063ffffffff16565b601154909150610ba99082611161565b6011556001600160a01b0382165f908152600660205260409020546108b99082611161565b335f90815260066020526040812054821115610c235760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016105f2565b6001600160a01b038316610c795760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e7420616464726573730000000000000060448201526064016105f2565b335f90815260066020526040902054610c92908361114f565b335f90815260066020526040808220929092556001600160a01b03851681522054610cbd9083611161565b6001600160a01b0384165f818152600660205260409081902092909255905133905f805160206114d98339815191529061064e9086815260200190565b610d0261116c565b601454600c5410610d555760405162461bcd60e51b815260206004820152601860248201527f5465616d20616c6c6f636174696f6e206578636565646564000000000000000060448201526064016105f2565b5f610d6d600c5460145461114f90919063ffffffff16565b600c54909150610d7d9082611161565b600c556001600160a01b0382165f908152600660205260409020546108b99082611161565b610daa61116c565b601354600b5410610dfd5760405162461bcd60e51b815260206004820152601d60248201527f45636f73797374656d20616c6c6f636174696f6e20657863656564656400000060448201526064016105f2565b5f610e15600b5460135461114f90919063ffffffff16565b600b54909150610e259082611161565b600b556001600160a01b0382165f908152600660205260409020546108b99082611161565b610e5261116c565b5f8211610ea15760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016105f2565b6001600160a01b038316610ef75760405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642062656e65666963696172792061646472657373000000000060448201526064016105f2565b6001600160a01b039092165f908152600a602090815260408083209390935560088152828220939093556009909252812055565b610f336111e7565b5f610f3d33611240565b90505f8111610f835760405162461bcd60e51b81526020600482015260126024820152714e6f20746f6b656e7320746f20636c61696d60701b60448201526064016105f2565b335f90815260066020526040902054610f9c9082611161565b335f90815260066020908152604080832093909355600990522054610fc19082611161565b335f818152600960205260408082209390935591519091905f805160206114d983398151915290610ff59085815260200190565b60405180910390a350610a6360018055565b61100f61116c565b6001600160a01b03811661103857604051631e4fbdf760e01b81525f60048201526024016105f2565b61104181611198565b50565b61104c61116c565b5f811161109b5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016105f2565b601a546018546110aa9161114f565b8111156111085760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74206275726e206d6f7265207468616e20616c6c6f636174656420604482015265185b5bdd5b9d60d21b60648201526084016105f2565b601a546111159082611161565b601a55600554611125908261114f565b6005556040518181525f9033905f805160206114d98339815191529060200160405180910390a350565b5f61115a828461147c565b9392505050565b5f61115a828461148f565b5f546001600160a01b03163314610a635760405163118cdaa760e01b81523360048201526024016105f2565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6002600154036112395760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016105f2565b6002600155565b6001600160a01b0381165f908152600a6020908152604080832054600890925282205442106112d0576001600160a01b0383165f9081526008602052604081205461128c90429061114f565b90506301e133805f6112a96112a283601e6112d8565b85906112d8565b90505f6112b98462278d006112d8565b90506112c581836112e3565b979650505050505050565b505f92915050565b5f61115a82846114a2565b5f61115a82846114c1565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611339575f80fd5b919050565b5f806040838503121561134f575f80fd5b61135883611323565b946020939093013593505050565b5f805f60608486031215611378575f80fd5b61138184611323565b925061138f60208501611323565b9150604084013590509250925092565b5f602082840312156113af575f80fd5b61115a82611323565b5f80604083850312156113c9575f80fd5b6113d283611323565b91506113e060208401611323565b90509250929050565b5f805f606084860312156113fb575f80fd5b61140484611323565b95602085013595506040909401359392505050565b5f60208284031215611429575f80fd5b5035919050565b600181811c9082168061144457607f821691505b60208210810361146257634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561065a5761065a611468565b8082018082111561065a5761065a611468565b5f826114bc57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761065a5761065a61146856feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212201c0b006a69093040e199625150e98a411e77e99dbad3361e192da33fe833a97264736f6c63430008190033