0 txs
50.9k calls
constructor
constructor()
functions
_startTokenId
viewfunction _startTokenId() view returns (uint256)
addressFrom
purefunction addressFrom(address _origin, uint256 _nonce) pure returns (address _address)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isOwner
viewfunction isOwner(address account) view returns (bool)
mintInfo
viewfunction mintInfo(uint256 tokenId) view returns (uint256, uint256, uint256, uint256, uint256, bool)
mintInfoByTokenOwnerIndex
viewfunction mintInfoByTokenOwnerIndex(address _owner, uint256 _index) view returns (uint256, uint256, uint256)
name
viewfunction name() view returns (string)
nftInfo
viewfunction nftInfo(uint256) view returns (uint256)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
PKG
viewfunction PKG() view returns (address)
PROXY
viewfunction PROXY() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
SvgGenerate
viewfunction SvgGenerate() view returns (address)
symbol
viewfunction symbol() view returns (string)
tips
viewfunction tips() view returns (uint256)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenSlotCount
viewfunction tokenSlotCount(uint256) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
XEN
viewfunction XEN() view returns (address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
batchClaimRankWithGenerateNft
payablefunction batchClaimRankWithGenerateNft(uint256 _num, uint256 _term) payable
changeOwner
nonpayablefunction changeOwner(address _newOwner)
claimAndClaimRankByNft
payablefunction claimAndClaimRankByNft(uint256[] _tokenIds, address _to, uint256 _term) payable
claimByNft
nonpayablefunction claimByNft(uint256[] _tokenIds, address _to)
initialize
nonpayablefunction initialize()
rebatchClaimRankByNft
payablefunction rebatchClaimRankByNft(uint256[] _tokenIds, uint256 _term) payable
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setSvgGenerater
nonpayablefunction setSvgGenerater(address svgGenerater)
setTips
nonpayablefunction setTips(uint256 _tips)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
Initialized
event Initialized(uint8 version)
OwnerSet
event OwnerSet(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x600b80546001600160a01b03191673d968194b234f3b8d219fcd15b7eef38ff54b82e817905560c060405260046080908152634241534560e01b60a052600c906200004b9082620001aa565b506001600d55660aa87bee5380006012553480156200006957600080fd5b506040805180820182526009808252681350d50b561153919560ba1b6020808401829052845180860190955291845290830152906000620000ab8382620001aa565b506001620000ba8282620001aa565b5050600a80546001600160a01b031916339081179091556040519091506000907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a362000276565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200013057607f821691505b6020821081036200015157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001a557600081815260208120601f850160051c81016020861015620001805750805b601f850160051c820191505b81811015620001a1578281556001016200018c565b5050505b505050565b81516001600160401b03811115620001c657620001c662000105565b620001de81620001d784546200011b565b8462000157565b602080601f831160018114620002165760008415620001fd5750858301515b600019600386901b1c1916600185901b178555620001a1565b600085815260208120601f198616915b82811015620002475788860151825594840194600190910190840162000226565b5085821015620002665787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612eba80620002866000396000f3fe60806040526004361061021a5760003560e01c806370a0823111610123578063a8c92d48116100ab578063cc90a64f1161006f578063cc90a64f1461065e578063d0b0fe591461067e578063e985e9c51461069e578063f508d3d0146106e7578063fbf551ad1461072257600080fd5b8063a8c92d48146105b3578063b88d4fde146105d6578063b9f11599146105f6578063c003598a14610616578063c87b56dd1461063e57600080fd5b806392aae536116100f257806392aae5361461053557806395d89b411461054857806398995f771461055d578063a22cb46514610573578063a6f9dae11461059357600080fd5b806370a08231146104c05780638129fc1c146104e0578063852bbf2e146104f55780638973e2cb1461052257600080fd5b80632f745c59116101a65780634ed74332116101755780634ed74332146104255780634f6ccce71461044d5780636352211e1461046d5780636701168e1461048d5780636dab1dc5146104ad57600080fd5b80632f745c59146103815780633ccfd60b146103a157806342842e0e146103b6578063443aa533146103d657600080fd5b806318160ddd116101ed57806318160ddd146102d05780631a4e1e78146102ef5780631f8bc7901461030557806323b872dd146103325780632f54bf6e1461035257600080fd5b806301ffc9a71461021f57806306fdde0314610254578063081812fc14610276578063095ea7b3146102ae575b600080fd5b34801561022b57600080fd5b5061023f61023a366004612599565b610742565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b5061026961076d565b60405161024b919061260d565b34801561028257600080fd5b50610296610291366004612620565b6107ff565b6040516001600160a01b03909116815260200161024b565b3480156102ba57600080fd5b506102ce6102c936600461264e565b610826565b005b3480156102dc57600080fd5b506008545b60405190815260200161024b565b3480156102fb57600080fd5b506102e160125481565b34801561031157600080fd5b506102e1610320366004612620565b600f6020526000908152604090205481565b34801561033e57600080fd5b506102ce61034d36600461267a565b610940565b34801561035e57600080fd5b5061023f61036d3660046126bb565b600a546001600160a01b0391821691161490565b34801561038d57600080fd5b506102e161039c36600461264e565b610971565b3480156103ad57600080fd5b506102ce610a07565b3480156103c257600080fd5b506102ce6103d136600461267a565b610a4d565b3480156103e257600080fd5b506103f66103f1366004612620565b610a68565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c00161024b565b34801561043157600080fd5b506102967334f40a7a863af50c12c864285aa800a3ecb7958c81565b34801561045957600080fd5b506102e1610468366004612620565b610aeb565b34801561047957600080fd5b50610296610488366004612620565b610b7e565b34801561049957600080fd5b50600b54610296906001600160a01b031681565b6102ce6104bb366004612724565b610bde565b3480156104cc57600080fd5b506102e16104db3660046126bb565b610e9b565b3480156104ec57600080fd5b506102ce610f21565b34801561050157600080fd5b506102e1610510366004612620565b600e6020526000908152604090205481565b6102ce610530366004612781565b6110aa565b6102ce6105433660046127a3565b6112fd565b34801561055457600080fd5b50610269611528565b34801561056957600080fd5b506102e1600d5481565b34801561057f57600080fd5b506102ce61058e3660046127ef565b611537565b34801561059f57600080fd5b506102ce6105ae3660046126bb565b611542565b3480156105bf57600080fd5b506102966e771a79d0fc7f3b7fe270eb4498f20b81565b3480156105e257600080fd5b506102ce6105f136600461289c565b6115f8565b34801561060257600080fd5b506102ce6106113660046126bb565b611630565b34801561062257600080fd5b5061029673ffcbf84650ce02dafe96926b37a0ac5e34932fa581565b34801561064a57600080fd5b50610269610659366004612620565b611699565b34801561066a57600080fd5b506102ce610679366004612620565b61177d565b34801561068a57600080fd5b506102ce61069936600461294b565b6117a2565b3480156106aa57600080fd5b5061023f6106b93660046129a2565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156106f357600080fd5b5061070761070236600461264e565b6118f6565b6040805193845260208401929092529082015260600161024b565b34801561072e57600080fd5b5061029661073d36600461264e565b611930565b60006001600160e01b0319821663780e9d6360e01b1480610767575061076782611b5a565b92915050565b60606010805461077c906129d0565b80601f01602080910402602001604051908101604052809291908181526020018280546107a8906129d0565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b5050505050905090565b600061080a82611baa565b506000908152600460205260409020546001600160a01b031690565b600061083182610b7e565b9050806001600160a01b0316836001600160a01b0316036108a35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108bf57506108bf81336106b9565b6109315760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000606482015260840161089a565b61093b8383611c09565b505050565b61094a3382611c77565b6109665760405162461bcd60e51b815260040161089a90612a0a565b61093b838383611cf6565b600061097c83610e9b565b82106109de5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161089a565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60405173a8344f42814ab006ace709b26368a68a416f77779081904780156108fc02916000818181858888f19350505050158015610a49573d6000803e3d6000fd5b5050565b61093b838383604051806020016040528060008152506115f8565b6000818152600e60205260408120548190819081908190819080610a8b57600080fd5b50505060009485525050600f602090815260409093205460f081901c9460b082901c67ffffffffffffffff1694603083901c6fffffffffffffffffffffffffffffffff16945061ffff9083901c81169350601083901c8116921660011490565b6000610af660085490565b8210610b595760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161089a565b60088281548110610b6c57610b6c612a58565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806107675760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161089a565b6012543414610bec57600080fd5b6040516001600160a01b0383166024820152606460448201819052600091829182910160408051601f198184030181529181526020820180516001600160e01b0316631c56030560e01b179052516024810186905290915060009060440160408051601f198184030181529190526020810180516001600160e01b0316639ff054df60e01b179052905060005b87811015610e90576000898983818110610c9557610c95612a58565b905060200201359050336001600160a01b0316610cb182610b7e565b6001600160a01b031614610cd75760405162461bcd60e51b815260040161089a90612a6e565b60005b6000828152600e6020526040902054811015610e7b576000610cfd308484611e9d565b90506000808751602089016000855af1975087610d495760405162461bcd60e51b815260206004820152600a60248201526918db185a5b4819985a5b60b21b604482015260640161089a565b6000808651602088016000855af1965086610d985760405162461bcd60e51b815260206004820152600f60248201526e18db185a5b481c985b9ac819985a5b608a1b604482015260640161089a565b81600003610e685760405163df28233160e01b81526001600160a01b0382166004820152600090819081908190819073ffcbf84650ce02dafe96926b37a0ac5e34932fa59063df2823319060240160c0604051808303816000875af1158015610e05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e299190612a97565b9399509197509550935091505060f085901b60b085901b603085901b602085901b601085901b171717176000898152600f602052604090205550505050505b5080610e7381612b00565b915050610cda565b50508080610e8890612b00565b915050610c79565b505050505050505050565b60006001600160a01b038216610f055760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161089a565b506001600160a01b031660009081526003602052604090205490565b600a54600160a81b900460ff1615808015610f495750600a546001600160a01b90910460ff16105b80610f6a5750303b158015610f6a5750600a54600160a01b900460ff166001145b610fcd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161089a565b600a805460ff60a01b1916600160a01b1790558015610ffa57600a805460ff60a81b1916600160a81b1790555b61100333611f4c565b6040805180820190915260098152681350d50b561153919560ba1b60208201526010906110309082612b67565b506040805180820190915260098152681350d50b561153919560ba1b602082015260119061105e9082612b67565b5080156110a757600a805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b600d546000818152600e602090815260408083205481516024808201889052835180830390910181526044909101835280840180516001600160e01b0316639ff054df60e01b1790528251733d602d80600a3d3981f3363d3d373d3d3d363d7360601b94810194909452730d3d029ea18ebd4304b2190a16aa0028fb2de56360621b60348501526e5af43d82803e903d91602b57fd5bf360881b604885015282518085036037018152605790940190925292909181845b61116b8987612c27565b8110156112aa57600030888360405160200161118993929190612c3a565b604051602081830303815290604052805190602001209050808451602086016000f592506000808751602089016000875af19450846111c757600080fd5b816000036112975760405163df28233160e01b81526001600160a01b0384166004820152600090819081908190819073ffcbf84650ce02dafe96926b37a0ac5e34932fa59063df2823319060240160c0604051808303816000875af1158015611234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112589190612a97565b9399509197509550935091505060f085901b60b085901b603085901b602085901b601085901b1717171760008e8152600f602052604090205550505050505b50806112a281612b00565b915050611161565b506000868152600e6020526040812080548a92906112c9908490612c27565b925050819055506001600d60008282546112e39190612c27565b909155506112f390503387611f9e565b5050505050505050565b6000805b83811015611521573361132b86868481811061131f5761131f612a58565b90506020020135610b7e565b6001600160a01b0316146113515760405162461bcd60e51b815260040161089a90612a6e565b60008360405160240161136691815260200190565b60408051601f198184030181529190526020810180516001600160e01b0316639ff054df60e01b179052905060005b600e60008888868181106113ab576113ab612a58565b9050602002013581526020019081526020016000205481101561150c5760006113ed308989878181106113e0576113e0612a58565b9050602002013584611e9d565b90506000808451602086016000855af194508461140957600080fd5b816000036114f95760405163df28233160e01b81526001600160a01b0382166004820152600090819081908190819073ffcbf84650ce02dafe96926b37a0ac5e34932fa59063df2823319060240160c0604051808303816000875af1158015611476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149a9190612a97565b9399509197509550935091505060f085901b60b085901b603085901b602085901b601085901b17171717600f60008f8f8d8181106114da576114da612a58565b9050602002013581526020019081526020016000208190555050505050505b508061150481612b00565b915050611395565b5050808061151990612b00565b915050611301565b5050505050565b60606011805461077c906129d0565b610a49338383611fb8565b600a546001600160a01b031633146115895760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640161089a565b6001600160a01b03811661159c57600080fd5b600a546040516001600160a01b038084169216907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73590600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6116023383611c77565b61161e5760405162461bcd60e51b815260040161089a90612a0a565b61162a84848484612086565b50505050565b600a546001600160a01b031633146116775760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640161089a565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600e6020526040902054606090806116b557600080fd5b600b546000848152600f60205260409081902054905163e16ce58760e01b81526001600160a01b039092169163e16ce587916117119173ffcbf84650ce02dafe96926b37a0ac5e34932fa5918891879190600c90600401612c75565b600060405180830381865afa15801561172e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117569190810190612d25565b6040516020016117669190612d93565b604051602081830303815290604052915050919050565b73a8344f42814ab006ace709b26368a68a416f7777331461179d57600080fd5b601255565b60005b8281101561162a57336117c385858481811061131f5761131f612a58565b6001600160a01b0316146117e95760405162461bcd60e51b815260040161089a90612a6e565b60005b600e600086868581811061180257611802612a58565b905060200201358152602001908152602001600020548110156118b1576000611837308787868181106113e0576113e0612a58565b604051631c56030560e01b81526001600160a01b0386811660048301526064602483015291925090821690631c56030590604401600060405180830381600087803b15801561188557600080fd5b505af1158015611899573d6000803e3d6000fd5b505050505080806118a990612b00565b9150506117ec565b506001600f60008686858181106118ca576118ca612a58565b9050602002013581526020019081526020016000208190555080806118ee90612b00565b9150506117a5565b6000806000806119068686610971565b6000818152600e6020908152604080832054600f9092529091205491955093509150509250925092565b600060608260000361198b57604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152600160ff1b60368201526037015b6040516020818303038152906040529050611b46565b607f83116119da57604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b16602282015260f884901b6001600160f81b0319166036820152603701611975565b60ff8311611a335760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608160f81b603682015260f884901b6001600160f81b0319166037820152603801611975565b61ffff8311611a8d57604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152604160f91b60368201526001600160f01b031960f085901b166037820152603901611975565b62ffffff8311611ae85760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608360f81b60368201526001600160e81b031960e885901b166037820152603a01611975565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152602160fa1b60368201526001600160e01b031960e085901b166037820152603b0160405160208183030381529060405290505b805160209091012060008190529392505050565b60006001600160e01b031982166380ac58cd60e01b1480611b8b57506001600160e01b03198216635b5e139f60e01b145b8061076757506301ffc9a760e01b6001600160e01b0319831614610767565b6000818152600260205260409020546001600160a01b03166110a75760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161089a565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611c3e82610b7e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611c8383610b7e565b9050806001600160a01b0316846001600160a01b03161480611cca57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80611cee5750836001600160a01b0316611ce3846107ff565b6001600160a01b0316145b949350505050565b826001600160a01b0316611d0982610b7e565b6001600160a01b031614611d6d5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161089a565b6001600160a01b038216611dcf5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161089a565b611dda8383836120b9565b611de5600082611c09565b6001600160a01b0383166000908152600360205260408120805460019290611e0e908490612daf565b90915550506001600160a01b0382166000908152600360205260408120805460019290611e3c908490612c27565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080848484604051602001611eb593929190612c3a565b604051602081830303815290604052805190602001209050611f437334f40a7a863af50c12c864285aa800a3ecb7958c828760405160388101919091526f5af43d82803e903d91602b57fd5bf3ff60248201526014810192909252733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152605560439091012090565b95945050505050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73590600090a35050565b610a49828260405180602001604052806000815250612171565b816001600160a01b0316836001600160a01b0316036120195760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161089a565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612091848484611cf6565b61209d848484846121a4565b61162a5760405162461bcd60e51b815260040161089a90612dc2565b6001600160a01b0383166121145761210f81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612137565b816001600160a01b0316836001600160a01b0316146121375761213783826122a5565b6001600160a01b03821661214e5761093b81612342565b826001600160a01b0316826001600160a01b03161461093b5761093b82826123f1565b61217b8383612435565b61218860008484846121a4565b61093b5760405162461bcd60e51b815260040161089a90612dc2565b60006001600160a01b0384163b1561229a57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906121e8903390899088908890600401612e14565b6020604051808303816000875af1925050508015612223575060408051601f3d908101601f1916820190925261222091810190612e51565b60015b612280573d808015612251576040519150601f19603f3d011682016040523d82523d6000602084013e612256565b606091505b5080516000036122785760405162461bcd60e51b815260040161089a90612dc2565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611cee565b506001949350505050565b600060016122b284610e9b565b6122bc9190612daf565b60008381526007602052604090205490915080821461230f576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061235490600190612daf565b6000838152600960205260408120546008805493945090928490811061237c5761237c612a58565b90600052602060002001549050806008838154811061239d5761239d612a58565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806123d5576123d5612e6e565b6001900381819060005260206000200160009055905550505050565b60006123fc83610e9b565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b03821661248b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161089a565b6000818152600260205260409020546001600160a01b0316156124f05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161089a565b6124fc600083836120b9565b6001600160a01b0382166000908152600360205260408120805460019290612525908490612c27565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b0319811681146110a757600080fd5b6000602082840312156125ab57600080fd5b81356125b681612583565b9392505050565b60005b838110156125d85781810151838201526020016125c0565b50506000910152565b600081518084526125f98160208601602086016125bd565b601f01601f19169290920160200192915050565b6020815260006125b660208301846125e1565b60006020828403121561263257600080fd5b5035919050565b6001600160a01b03811681146110a757600080fd5b6000806040838503121561266157600080fd5b823561266c81612639565b946020939093013593505050565b60008060006060848603121561268f57600080fd5b833561269a81612639565b925060208401356126aa81612639565b929592945050506040919091013590565b6000602082840312156126cd57600080fd5b81356125b681612639565b60008083601f8401126126ea57600080fd5b50813567ffffffffffffffff81111561270257600080fd5b6020830191508360208260051b850101111561271d57600080fd5b9250929050565b6000806000806060858703121561273a57600080fd5b843567ffffffffffffffff81111561275157600080fd5b61275d878288016126d8565b909550935050602085013561277181612639565b9396929550929360400135925050565b6000806040838503121561279457600080fd5b50508035926020909101359150565b6000806000604084860312156127b857600080fd5b833567ffffffffffffffff8111156127cf57600080fd5b6127db868287016126d8565b909790965060209590950135949350505050565b6000806040838503121561280257600080fd5b823561280d81612639565b91506020830135801515811461282257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561286c5761286c61282d565b604052919050565b600067ffffffffffffffff82111561288e5761288e61282d565b50601f01601f191660200190565b600080600080608085870312156128b257600080fd5b84356128bd81612639565b935060208501356128cd81612639565b925060408501359150606085013567ffffffffffffffff8111156128f057600080fd5b8501601f8101871361290157600080fd5b803561291461290f82612874565b612843565b81815288602083850101111561292957600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060006040848603121561296057600080fd5b833567ffffffffffffffff81111561297757600080fd5b612983868287016126d8565b909450925050602084013561299781612639565b809150509250925092565b600080604083850312156129b557600080fd5b82356129c081612639565b9150602083013561282281612639565b600181811c908216806129e457607f821691505b602082108103612a0457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6020808252600f908201526e24b731b7b93932b1ba1037bbb732b960891b604082015260600190565b60008060008060008060c08789031215612ab057600080fd5b8651612abb81612639565b6020880151604089015160608a015160808b015160a0909b0151939c929b509099909850965090945092505050565b634e487b7160e01b600052601160045260246000fd5b600060018201612b1257612b12612aea565b5060010190565b601f82111561093b57600081815260208120601f850160051c81016020861015612b405750805b601f850160051c820191505b81811015612b5f57828155600101612b4c565b505050505050565b815167ffffffffffffffff811115612b8157612b8161282d565b612b9581612b8f84546129d0565b84612b19565b602080601f831160018114612bca5760008415612bb25750858301515b600019600386901b1c1916600185901b178555612b5f565b600085815260208120601f198616915b82811015612bf957888601518255948401946001909101908401612bda565b5085821015612c175787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082018082111561076757610767612aea565b60609390931b6001600160601b031916835260148301919091526c657865637574655f70726f787960981b6034830152604182015260610190565b60018060a01b038616815260006020868184015285604084015284606084015260a0608084015260008454612ca9816129d0565b8060a087015260c0600180841660008114612ccb5760018114612ce557612d13565b60ff1985168984015283151560051b890183019550612d13565b896000528660002060005b85811015612d0b5781548b8201860152908301908801612cf0565b8a0184019650505b50939c9b505050505050505050505050565b600060208284031215612d3757600080fd5b815167ffffffffffffffff811115612d4e57600080fd5b8201601f81018413612d5f57600080fd5b8051612d6d61290f82612874565b818152856020838501011115612d8257600080fd5b611f438260208301602086016125bd565b60008251612da58184602087016125bd565b9190910192915050565b8181038181111561076757610767612aea565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612e47908301846125e1565b9695505050505050565b600060208284031215612e6357600080fd5b81516125b681612583565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e732e3df8ec4db062904459685b9559130ae90d6481b06e366bbd5a2e1030d9564736f6c63430008100033