[ { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "userbase", "type": "address" } ], "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "activate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "activateMambo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "username", "type": "string" } ], "name": "addressFor", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "deactivate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "deactivateMambo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "flipPaused", "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": [], "name": "imgURI", "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": [ { "internalType": "string", "name": "username", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mambloonMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mambloonPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mambloons", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "username", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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": "price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "_imgURI", "type": "string" } ], "name": "setImgURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setMambloonPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "mambloonsAddy", "type": "address" } ], "name": "setMambloons", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "signer_", "type": "address" } ], "name": "setSigner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "userbase_", "type": "address" } ], "name": "setUserBase", "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": "source", "type": "uint256" } ], "name": "tokenIdToUsername", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": "treasury", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "username", "type": "string" } ], "name": "usernameExists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "usernameFor", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "source", "type": "string" } ], "name": "usernameToId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" } ]
600a805460ff60a01b1916905560e0604052603560808181529062002f5c60a03980516200003691600b91602090910190620001b4565b5067016345785d8a0000600c55670de0b6b3a7640000600d55600e80546001600160a01b0319167374331373cc4b88d88b82e7cdf355295766b1c4a81790553480156200008257600080fd5b5060405162002f9138038062002f91833981016040819052620000a59162000277565b604080518082018252600b81526a4d616d626f204e616d657360a81b6020808301918252835180850190945260098452684d414d424f4e414d4560b81b908401528151919291620000f991600091620001b4565b5080516200010f906001906020840190620001b4565b5050506200012c620001266200015e60201b60201c565b62000162565b600880546001600160a01b039384166001600160a01b03199182161790915560098054929093169116179055620002ec565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001c290620002af565b90600052602060002090601f016020900481019282620001e6576000855562000231565b82601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b5b808211156200023f576000815560010162000244565b80516001600160a01b03811681146200027257600080fd5b919050565b600080604083850312156200028b57600080fd5b62000296836200025a565b9150620002a6602084016200025a565b90509250929050565b600181811c90821680620002c457607f821691505b60208210811415620002e657634e487b7160e01b600052602260045260246000fd5b50919050565b612c6080620002fc6000396000f3fe6080604052600436106102305760003560e01c80636c19e7831161012e578063b260c42a116100ab578063c994a3901161006f578063c994a3901461065a578063cd2e34161461067a578063e985e9c51461069a578063f2fde38b146106e3578063f309e3f91461070357600080fd5b8063b260c42a146105ba578063b4b62e3e146105da578063b88d4fde146105fa578063c35279a51461061a578063c87b56dd1461063a57600080fd5b8063916b9bef116100f2578063916b9bef1461052f57806395d89b411461054f5780639c97b2bf14610564578063a035b1fe14610584578063a22cb4651461059a57600080fd5b80636c19e7831461049c57806370a08231146104bc578063715018a6146104dc57806384a98b0f146104f15780638da5cb5b1461051157600080fd5b806330c87530116101bc5780635e1fe1db116101805780635e1fe1db146104075780635eb1cf7d146104275780635fe38e031461044757806361d027b31461045c5780636352211e1461047c57600080fd5b806330c875301461037f578063333171bb1461039f5780634223d777146103b457806342842e0e146103d45780634737576e146103f457600080fd5b8063095ea7b311610203578063095ea7b3146102e65780631533a4681461030657806318160ddd1461032a5780631ff28db81461033f57806323b872dd1461035f57600080fd5b806301ffc9a71461023557806306fdde031461026a5780630744baa01461028c578063081812fc146102ae575b600080fd5b34801561024157600080fd5b5061025561025036600461233c565b610723565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061027f610734565b60405161026191906123b1565b34801561029857600080fd5b506102ac6102a73660046123c4565b6107c6565b005b3480156102ba57600080fd5b506102ce6102c93660046123c4565b61082b565b6040516001600160a01b039091168152602001610261565b3480156102f257600080fd5b506102ac6103013660046123f9565b6108b3565b34801561031257600080fd5b5061031c600d5481565b604051908152602001610261565b34801561033657600080fd5b5061031c6109c9565b34801561034b57600080fd5b5061027f61035a3660046123c4565b6109d9565b34801561036b57600080fd5b506102ac61037a366004612423565b6109e4565b34801561038b57600080fd5b506102ac61039a36600461245f565b610a15565b3480156103ab57600080fd5b506102ac610a61565b3480156103c057600080fd5b506102ac6103cf3660046123c4565b610aac565b3480156103e057600080fd5b506102ac6103ef366004612423565b610b24565b6102ac61040236600461253f565b610b3f565b34801561041357600080fd5b5061031c6104223660046125a3565b610be0565b34801561043357600080fd5b506102ac61044236600461245f565b610beb565b34801561045357600080fd5b5061027f610c37565b34801561046857600080fd5b50600e546102ce906001600160a01b031681565b34801561048857600080fd5b506102ce6104973660046123c4565b610cc5565b3480156104a857600080fd5b506102ac6104b736600461245f565b610d3c565b3480156104c857600080fd5b5061031c6104d736600461245f565b610d88565b3480156104e857600080fd5b506102ac610e0f565b3480156104fd57600080fd5b506102ac61050c3660046123c4565b610e45565b34801561051d57600080fd5b506006546001600160a01b03166102ce565b34801561053b57600080fd5b506102ac61054a3660046123c4565b610e74565b34801561055b57600080fd5b5061027f610f13565b34801561057057600080fd5b506102ac61057f36600461253f565b610f22565b34801561059057600080fd5b5061031c600c5481565b3480156105a657600080fd5b506102ac6105b53660046125e6565b610fe7565b3480156105c657600080fd5b506102ac6105d53660046123c4565b610ff2565b3480156105e657600080fd5b50600a546102ce906001600160a01b031681565b34801561060657600080fd5b506102ac61061536600461261d565b61103e565b34801561062657600080fd5b506102ac6106353660046125a3565b611076565b34801561064657600080fd5b5061027f6106553660046123c4565b6110b3565b34801561066657600080fd5b506102ce6106753660046125a3565b611181565b34801561068657600080fd5b5061027f61069536600461245f565b6111b0565b3480156106a657600080fd5b506102556106b5366004612685565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156106ef57600080fd5b506102ac6106fe36600461245f565b6111d5565b34801561070f57600080fd5b5061025561071e3660046125a3565b611270565b600061072e8261128e565b92915050565b606060008054610743906126b8565b80601f016020809104026020016040519081016040528092919081815260200182805461076f906126b8565b80156107bc5780601f10610791576101008083540402835291602001916107bc565b820191906000526020600020905b81548152906001019060200180831161079f57829003601f168201915b5050505050905090565b336107d082610cc5565b6001600160a01b0316146107ff5760405162461bcd60e51b81526004016107f6906126f3565b60405180910390fd5b6000908152600f6020908152604080832080546001600160a01b03191690553383526010909152812055565b6000610836826112de565b6108975760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107f6565b506000908152600460205260409020546001600160a01b031690565b60006108be82610cc5565b9050806001600160a01b0316836001600160a01b0316141561092c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107f6565b336001600160a01b0382161480610948575061094881336106b5565b6109ba5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107f6565b6109c483836112fb565b505050565b60006109d460075490565b905090565b606061072e82611369565b6109ee3382611499565b610a0a5760405162461bcd60e51b81526004016107f69061272a565b6109c4838383611583565b6006546001600160a01b03163314610a3f5760405162461bcd60e51b81526004016107f69061277b565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b03163314610a8b5760405162461bcd60e51b81526004016107f69061277b565b600a805460ff60a01b198116600160a01b9182900460ff1615909102179055565b33610ab682610cc5565b6001600160a01b031614610adc5760405162461bcd60e51b81526004016107f6906126f3565b3360008181526010602081815260408084208054878652600f845282862080546001600160a01b03199081168917909155908652918520805490921690915593909252905255565b6109c48383836040518060200160405280600081525061103e565b600a54600160a01b900460ff1615610b5657600080fd5b600c54341015610b9d5760405162461bcd60e51b815260206004820152601260248201527124b739bab33334b1b4b2b73a10233ab7321760711b60448201526064016107f6565b610ba7828261172e565b600e546040516001600160a01b03909116903480156108fc02916000818181858888f193505050501580156109c4573d6000803e3d6000fd5b600061072e826127b0565b6006546001600160a01b03163314610c155760405162461bcd60e51b81526004016107f69061277b565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600b8054610c44906126b8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c70906126b8565b8015610cbd5780601f10610c9257610100808354040283529160200191610cbd565b820191906000526020600020905b815481529060010190602001808311610ca057829003601f168201915b505050505081565b6000818152600260205260408120546001600160a01b03168061072e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107f6565b6006546001600160a01b03163314610d665760405162461bcd60e51b81526004016107f69061277b565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160a01b038216610df35760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107f6565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b03163314610e395760405162461bcd60e51b81526004016107f69061277b565b610e4360006118bd565b565b6006546001600160a01b03163314610e6f5760405162461bcd60e51b81526004016107f69061277b565b600d55565b33610e7e82610cc5565b6001600160a01b031614610ea45760405162461bcd60e51b81526004016107f6906126f3565b6009546001600160a01b03168063e4e30e8133610ec0856109d9565b6040518363ffffffff1660e01b8152600401610edd9291906127d4565b600060405180830381600087803b158015610ef757600080fd5b505af1158015610f0b573d6000803e3d6000fd5b505050505050565b606060018054610743906126b8565b600a54600160a01b900460ff1615610f3957600080fd5b600a546001600160a01b03166323b872dd33610f5d6006546001600160a01b031690565b600d546040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd891906127f8565b50610fe3828261172e565b5050565b610fe333838361190f565b33610ffc82610cc5565b6001600160a01b0316146110225760405162461bcd60e51b81526004016107f6906126f3565b6009546001600160a01b031680636a3b3cc333610ec0856109d9565b6110483383611499565b6110645760405162461bcd60e51b81526004016107f69061272a565b611070848484846119de565b50505050565b6006546001600160a01b031633146110a05760405162461bcd60e51b81526004016107f69061277b565b8051610fe390600b90602084019061228d565b60606110be826112de565b6111225760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016107f6565b600061112d836109d9565b600b604051602001611140929190612815565b604051602081830303815290604052905061115a81611a11565b60405160200161116a919061295c565b604051602081830303815290604052915050919050565b6000600f600061119084610be0565b81526020810191909152604001600020546001600160a01b031692915050565b6001600160a01b03811660009081526010602052604090205460609061072e906109d9565b6006546001600160a01b031633146111ff5760405162461bcd60e51b81526004016107f69061277b565b6001600160a01b0381166112645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b61126d816118bd565b50565b60008061127c83610be0565b9050611287816112de565b9392505050565b60006001600160e01b031982166380ac58cd60e01b14806112bf57506001600160e01b03198216635b5e139f60e01b145b8061072e57506301ffc9a760e01b6001600160e01b031983161461072e565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061133082610cc5565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b606060005b60208160ff161080156113a25750828160ff1660208110611391576113916129a1565b1a60f81b6001600160f81b03191615155b156113b957806113b1816129cd565b91505061136e565b60008160ff1667ffffffffffffffff8111156113d7576113d761247a565b6040519080825280601f01601f191660200182016040528015611401576020820181803683370190505b509050600091505b60208260ff1610801561143d5750838260ff166020811061142c5761142c6129a1565b1a60f81b6001600160f81b03191615155b1561128757838260ff1660208110611457576114576129a1565b1a60f81b818360ff1681518110611470576114706129a1565b60200101906001600160f81b031916908160001a90535081611491816129cd565b925050611409565b60006114a4826112de565b6115055760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107f6565b600061151083610cc5565b9050806001600160a01b0316846001600160a01b0316148061154b5750836001600160a01b03166115408461082b565b6001600160a01b0316145b8061157b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661159682610cc5565b6001600160a01b0316146115fe5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016107f6565b6001600160a01b0382166116605760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107f6565b61166b838383611b79565b6116766000826112fb565b6001600160a01b038316600090815260036020526040812080546001929061169f9084906129ed565b90915550506001600160a01b03821660009081526003602052604081208054600192906116cd908490612a04565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061173983610be0565b9050611744816112de565b156117915760405162461bcd60e51b815260206004820152601960248201527f557365726e616d6573206d75737420626520756e697175652e0000000000000060448201526064016107f6565b600033846040516020016117a6929190612a1c565b60405160208183030381529060405280519060200120905060006118218461181b846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90611ce5565b6008549091506001600160a01b038083169116146118815760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c65642e000060448201526064016107f6565b61188f600780546001019055565b6118993384611d09565b336000908152601060205260409020546118b6576118b683610aac565b5050505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031614156119715760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107f6565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119e9848484611583565b6119f584848484611e48565b6110705760405162461bcd60e51b81526004016107f690612a54565b6060815160001415611a3157505060408051602081019091526000815290565b6000604051806060016040528060408152602001612beb6040913990506000600384516002611a609190612a04565b611a6a9190612aa6565b611a75906004612ac8565b90506000611a84826020612a04565b67ffffffffffffffff811115611a9c57611a9c61247a565b6040519080825280601f01601f191660200182016040528015611ac6576020820181803683370190505b509050818152600183018586518101602084015b81831015611b345760039283018051603f601282901c811687015160f890811b8552600c83901c8216880151811b6001860152600683901c8216880151811b60028601529116860151901b93820193909352600401611ada565b600389510660018114611b4e5760028114611b5f57611b6b565b613d3d60f01b600119830152611b6b565b603d60f81b6000198301525b509398975050505050505050565b6001600160a01b038316600090815260106020526040902054811415611ba257611ba2816107c6565b6000611bad826109d9565b6009546040516366971a0b60e11b81526001600160a01b038781166004830152929350911690819063cd2e341690602401600060405180830381865afa158015611bfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c239190810190612ae7565b604051602001611c339190612b5e565b6040516020818303038152906040528051906020012082604051602001611c5a9190612b5e565b6040516020818303038152906040528051906020012014156118b657806001600160a01b031663e4e30e8186611c8f866109d9565b6040518363ffffffff1660e01b8152600401611cac9291906127d4565b600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b505050505050505050565b6000806000611cf48585611f46565b91509150611d0181611fb6565b509392505050565b6001600160a01b038216611d5f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107f6565b611d68816112de565b15611db55760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107f6565b611dc160008383611b79565b6001600160a01b0382166000908152600360205260408120805460019290611dea908490612a04565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001600160a01b0384163b15611f3b57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e8c903390899088908890600401612b7a565b6020604051808303816000875af1925050508015611ec7575060408051601f3d908101601f19168201909252611ec491810190612bb7565b60015b611f21573d808015611ef5576040519150601f19603f3d011682016040523d82523d6000602084013e611efa565b606091505b508051611f195760405162461bcd60e51b81526004016107f690612a54565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061157b565b506001949350505050565b600080825160411415611f7d5760208301516040840151606085015160001a611f7187828585612171565b94509450505050611faf565b825160401415611fa75760208301516040840151611f9c86838361225e565b935093505050611faf565b506000905060025b9250929050565b6000816004811115611fca57611fca612bd4565b1415611fd35750565b6001816004811115611fe757611fe7612bd4565b14156120355760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016107f6565b600281600481111561204957612049612bd4565b14156120975760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016107f6565b60038160048111156120ab576120ab612bd4565b14156121045760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016107f6565b600481600481111561211857612118612bd4565b141561126d5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016107f6565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156121a85750600090506003612255565b8460ff16601b141580156121c057508460ff16601c14155b156121d15750600090506004612255565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612225573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661224e57600060019250925050612255565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b0161227f87828885612171565b935093505050935093915050565b828054612299906126b8565b90600052602060002090601f0160209004810192826122bb5760008555612301565b82601f106122d457805160ff1916838001178555612301565b82800160010185558215612301579182015b828111156123015782518255916020019190600101906122e6565b5061230d929150612311565b5090565b5b8082111561230d5760008155600101612312565b6001600160e01b03198116811461126d57600080fd5b60006020828403121561234e57600080fd5b813561128781612326565b60005b8381101561237457818101518382015260200161235c565b838111156110705750506000910152565b6000815180845261239d816020860160208601612359565b601f01601f19169290920160200192915050565b6020815260006112876020830184612385565b6000602082840312156123d657600080fd5b5035919050565b80356001600160a01b03811681146123f457600080fd5b919050565b6000806040838503121561240c57600080fd5b612415836123dd565b946020939093013593505050565b60008060006060848603121561243857600080fd5b612441846123dd565b925061244f602085016123dd565b9150604084013590509250925092565b60006020828403121561247157600080fd5b611287826123dd565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156124b9576124b961247a565b604052919050565b600067ffffffffffffffff8211156124db576124db61247a565b50601f01601f191660200190565b600082601f8301126124fa57600080fd5b813561250d612508826124c1565b612490565b81815284602083860101111561252257600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561255257600080fd5b823567ffffffffffffffff8082111561256a57600080fd5b612576868387016124e9565b9350602085013591508082111561258c57600080fd5b50612599858286016124e9565b9150509250929050565b6000602082840312156125b557600080fd5b813567ffffffffffffffff8111156125cc57600080fd5b61157b848285016124e9565b801515811461126d57600080fd5b600080604083850312156125f957600080fd5b612602836123dd565b91506020830135612612816125d8565b809150509250929050565b6000806000806080858703121561263357600080fd5b61263c856123dd565b935061264a602086016123dd565b925060408501359150606085013567ffffffffffffffff81111561266d57600080fd5b612679878288016124e9565b91505092959194509250565b6000806040838503121561269857600080fd5b6126a1836123dd565b91506126af602084016123dd565b90509250929050565b600181811c908216806126cc57607f821691505b602082108114156126ed57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601d908201527f596f7520646f206e6f74206f776e207468617420757365726e616d652e000000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b805160208083015191908110156126ed5760001960209190910360031b1b16919050565b6001600160a01b038316815260406020820181905260009061157b90830184612385565b60006020828403121561280a57600080fd5b8151611287816125d8565b693d913730b6b2911d101160b11b81528251600090602061283c82600a8601838901612359565b7f222c20226465736372697074696f6e223a20224120757365726e616d6520666f600a928501928301527f722075736520696e20746865204d616d626f4d616b6572732065636f73797374602a8301526e32b69116101134b6b0b3b2911d101160891b604a8301528454605990600090600181811c90808316806128c157607f831692505b8683108114156128df57634e487b7160e01b85526022600452602485fd5b8080156128f3576001811461290857612939565b60ff1985168988015283890187019550612939565b60008c81526020902060005b8581101561292f5781548b82018a0152908401908901612914565b505086848a010195505b50505050506129508161227d60f01b815260020190565b98975050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161299481601d850160208701612359565b91909101601d0192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8114156129e4576129e46129b7565b60010192915050565b6000828210156129ff576129ff6129b7565b500390565b60008219821115612a1757612a176129b7565b500190565b6bffffffffffffffffffffffff198360601b16815260008251612a46816014850160208701612359565b919091016014019392505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082612ac357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612ae257612ae26129b7565b500290565b600060208284031215612af957600080fd5b815167ffffffffffffffff811115612b1057600080fd5b8201601f81018413612b2157600080fd5b8051612b2f612508826124c1565b818152856020838501011115612b4457600080fd5b612b55826020830160208601612359565b95945050505050565b60008251612b70818460208701612359565b9190910192915050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612bad90830184612385565b9695505050505050565b600060208284031215612bc957600080fd5b815161128781612326565b634e487b7160e01b600052602160045260246000fdfe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122062d808e732feb68b2eee5831a970f8ecad717ca8e7e8dec3c9beea5fed8513eb64736f6c634300080b0033697066733a2f2f516d516d59377a41794c6474726451676d506d75717266344c66624c366a37713342763939656d32565467696a6f000000000000000000000000689650fee4c8f9d11ce434695151a4a1f2c42a370000000000000000000000005adcd28c08fdc5a913982391cebd866b27c717d4