39 txs
207 calls
constructor
constructor(string _tokenName, string _tokenSymbol, string _baseURI)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseURI
viewfunction baseURI() view returns (string)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getEthSignedMessageHash
purefunction getEthSignedMessageHash(bytes32 _messageHash) pure returns (bytes32)
getMessageHash
purefunction getMessageHash(address _to, uint256 _tokenId, uint256 _startTimestamp, uint256 _endTimestamp) pure returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
messageSigner
viewfunction messageSigner() view returns (address)
minterRole
viewfunction minterRole() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
recoverSigner
purefunction recoverSigner(bytes32 _ethSignedMessageHash, bytes _signature) pure returns (address)
splitSignature
purefunction splitSignature(bytes sig) pure returns (bytes32 r, bytes32 s, uint8 v)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 _tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
vault
viewfunction vault() view returns (address)
verify
viewfunction verify(address _to, uint256 _tokenId, uint256 _startTimestamp, uint256 _endTimestamp, bytes signature) view returns (bool)
adminMint
nonpayablefunction adminMint(address _to, uint256 _tokenId)
approve
nonpayablefunction approve(address to, uint256 tokenId)
claim
nonpayablefunction claim(address _to, uint256 _tokenId, uint256 _startTimestamp, uint256 _endTimestamp, bytes signature)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
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)
setBaseURI
nonpayablefunction setBaseURI(string _baseURI)
setMessageSigner
nonpayablefunction setMessageSigner(address _messageSigner)
setVault
nonpayablefunction setVault(address _newVault)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
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)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x6080604052600f80546001600160a01b031916739f836913343c0b46771206de4018fcdd0d76a2711790553480156200003757600080fd5b5060405162003351380380620033518339810160408190526200005a916200037d565b828260006200006a83826200049c565b5060016200007982826200049c565b5050506200009662000090620000f960201b60201c565b620000fd565b620000c27f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200014f565b620000cf6000336200014f565b600d80546001600160a01b03191633179055600e620000ef82826200049c565b5050505062000568565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200015b82826200015f565b5050565b620001768282620001a260201b620011871760201c565b6000828152600c602090815260409091206200019d9183906200120d62000246821b17901c565b505050565b6000828152600b602090815260408083206001600160a01b038516845290915290205460ff166200015b576000828152600b602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002023390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200025d836001600160a01b03841662000266565b90505b92915050565b6000818152600183016020526040812054620002af5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000260565b50600062000260565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620002e057600080fd5b81516001600160401b0380821115620002fd57620002fd620002b8565b604051601f8301601f19908116603f01168101908282118183101715620003285762000328620002b8565b816040528381526020925086838588010111156200034557600080fd5b600091505b838210156200036957858201830151818301840152908201906200034a565b600093810190920192909252949350505050565b6000806000606084860312156200039357600080fd5b83516001600160401b0380821115620003ab57600080fd5b620003b987838801620002ce565b94506020860151915080821115620003d057600080fd5b620003de87838801620002ce565b93506040860151915080821115620003f557600080fd5b506200040486828701620002ce565b9150509250925092565b600181811c908216806200042357607f821691505b6020821081036200044457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200019d57600081815260208120601f850160051c81016020861015620004735750805b601f850160051c820191505b8181101562000494578281556001016200047f565b505050505050565b81516001600160401b03811115620004b857620004b8620002b8565b620004d081620004c984546200040e565b846200044a565b602080601f831160018114620005085760008415620004ef5750858301515b600019600386901b1c1916600185901b17855562000494565b600085815260208120601f198616915b82811015620005395788860151825594840194600190910190840162000518565b5085821015620005585787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612dd980620005786000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c8063715018a611610151578063c87b56dd116100c3578063e985e9c511610087578063e985e9c51461055f578063f084219e1461059b578063f2fde38b146105c2578063f440be04146105d5578063fa540801146105e8578063fbfa77cf146105fb57600080fd5b8063c87b56dd14610500578063ca15c87314610513578063cf50346014610526578063d547741f14610539578063e58306f91461054c57600080fd5b806397aba7f91161011557806397aba7f91461046e578063a217fddf14610481578063a22cb46514610489578063a7bb58031461049c578063ac9650d8146104cd578063b88d4fde146104ed57600080fd5b8063715018a6146104275780638da5cb5b1461042f5780639010d07c1461044057806391d148541461045357806395d89b411461046657600080fd5b80632f745c59116101ea5780634f6ccce7116101ae5780634f6ccce7146103c057806355f804b3146103d35780636352211e146103e65780636817031b146103f95780636c0360eb1461040c57806370a082311461041457600080fd5b80632f745c591461036c57806336568abe1461037f5780633ccfd60b1461039257806342842e0e1461039a5780634b36df53146103ad57600080fd5b806318160ddd1161023157806318160ddd146102fe57806323b872dd14610310578063248a9ca31461032357806326b28edf146103465780632f2ff15d1461035957600080fd5b806301ffc9a71461026e57806306fdde0314610296578063080387b4146102ab578063081812fc146102d6578063095ea7b3146102e9575b600080fd5b61028161027c366004612395565b61060e565b60405190151581526020015b60405180910390f35b61029e61061f565b60405161028d9190612402565b600d546102be906001600160a01b031681565b6040516001600160a01b03909116815260200161028d565b6102be6102e4366004612415565b6106b1565b6102fc6102f736600461244a565b6106d8565b005b6008545b60405190815260200161028d565b6102fc61031e366004612474565b6107f2565b610302610331366004612415565b6000908152600b602052604090206001015490565b61028161035436600461255c565b610823565b6102fc6103673660046125c7565b61086e565b61030261037a36600461244a565b610893565b6102fc61038d3660046125c7565b610929565b6102fc6109a7565b6102fc6103a8366004612474565b6109c7565b6102fc6103bb3660046125f3565b6109e2565b6103026103ce366004612415565b610a0c565b6102fc6103e136600461260e565b610a9f565b6102be6103f4366004612415565b610ad5565b6102fc6104073660046125f3565b610b35565b61029e610b5f565b6103026104223660046125f3565b610bed565b6102fc610c73565b600a546001600160a01b03166102be565b6102be61044e366004612657565b610c85565b6102816104613660046125c7565b610ca4565b61029e610ccf565b6102be61047c366004612679565b610cde565b610302600081565b6102fc6104973660046126c0565b610d5d565b6104af6104aa3660046126fc565b610d68565b60408051938452602084019290925260ff169082015260600161028d565b6104e06104db366004612731565b610ddc565b60405161028d91906127a6565b6102fc6104fb366004612808565b610ed1565b61029e61050e366004612415565b610f09565b610302610521366004612415565b610f3d565b6102fc61053436600461255c565b610f54565b6102fc6105473660046125c7565b61100a565b6102fc61055a36600461244a565b61102f565b61028161056d366004612870565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6103027f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6102fc6105d03660046125f3565b611063565b6103026105e336600461289a565b6110dc565b6103026105f6366004612415565b611134565b600f546102be906001600160a01b031681565b600061061982611222565b92915050565b60606000805461062e906128d3565b80601f016020809104026020016040519081016040528092919081815260200182805461065a906128d3565b80156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050505050905090565b60006106bc82611247565b506000908152600460205260409020546001600160a01b031690565b60006106e382610ad5565b9050806001600160a01b0316836001600160a01b0316036107555760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806107715750610771813361056d565b6107e35760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161074c565b6107ed83836112a6565b505050565b6107fc3382611314565b6108185760405162461bcd60e51b815260040161074c9061290d565b6107ed838383611392565b600080610832878787876110dc565b9050600061083f82611134565b600d549091506001600160a01b03166108588286610cde565b6001600160a01b03161498975050505050505050565b6000828152600b602052604090206001015461088981611501565b6107ed838361150b565b600061089e83610bed565b82106109005760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161074c565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6001600160a01b03811633146109995760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161074c565b6109a3828261152d565b5050565b6109af61154f565b600f546109c5906001600160a01b0316476115a9565b565b6107ed83838360405180602001604052806000815250610ed1565b6109ea61154f565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a1760085490565b8210610a7a5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161074c565b60088281548110610a8d57610a8d61295a565b90600052602060002001549050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610ac981611501565b600e6107ed83826129be565b6000818152600260205260408120546001600160a01b0316806106195760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161074c565b610b3d61154f565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600e8054610b6c906128d3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b98906128d3565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b505050505081565b60006001600160a01b038216610c575760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161074c565b506001600160a01b031660009081526003602052604090205490565b610c7b61154f565b6109c560006115fa565b6000828152600c60205260408120610c9d908361164c565b9392505050565b6000918252600b602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461062e906128d3565b600080600080610ced85610d68565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015610d48573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6109a3338383611658565b60008060008351604114610dbe5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161074c565b50505060208101516040820151606090920151909260009190911a90565b60608167ffffffffffffffff811115610df757610df76124b0565b604051908082528060200260200182016040528015610e2a57816020015b6060815260200190600190039081610e155790505b50905060005b82811015610eca57610e9a30858584818110610e4e57610e4e61295a565b9050602002810190610e609190612a7e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061172692505050565b828281518110610eac57610eac61295a565b60200260200101819052508080610ec290612ae2565b915050610e30565b5092915050565b610edb3383611314565b610ef75760405162461bcd60e51b815260040161074c9061290d565b610f038484848461174b565b50505050565b6060600e610f168361177e565b604051602001610f27929190612afb565b6040516020818303038152906040529050919050565b6000818152600c6020526040812061061990611811565b610f618585858585610823565b610fa65760405162461bcd60e51b81526020600482015260166024820152751cda59db985d1d5c99481a5cc81b9bdd081d985b1a5960521b604482015260640161074c565b814211158015610fb65750824210155b610ff95760405162461bcd60e51b8152602060048201526014602482015273436c61696d696e6720706572696f6420656e647360601b604482015260640161074c565b611003858561181b565b5050505050565b6000828152600b602052604090206001015461102581611501565b6107ed838361152d565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a661105981611501565b6107ed838361181b565b61106b61154f565b6001600160a01b0381166110d05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074c565b6110d9816115fa565b50565b6040516bffffffffffffffffffffffff19606086901b1660208201526034810184905260548101839052607481018290526000906094016040516020818303038152906040528051906020012090505b949350505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b6111918282610ca4565b6109a3576000828152600b602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111c93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610c9d836001600160a01b0384166119b2565b60006001600160e01b03198216635a05180f60e01b1480610619575061061982611a01565b6000818152600260205260409020546001600160a01b03166110d95760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161074c565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906112db82610ad5565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061132083610ad5565b9050806001600160a01b0316846001600160a01b0316148061136757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061112c5750836001600160a01b0316611380846106b1565b6001600160a01b031614949350505050565b826001600160a01b03166113a582610ad5565b6001600160a01b0316146113cb5760405162461bcd60e51b815260040161074c90612b92565b6001600160a01b03821661142d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161074c565b611438838383611a26565b826001600160a01b031661144b82610ad5565b6001600160a01b0316146114715760405162461bcd60e51b815260040161074c90612b92565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6110d98133611a31565b6115158282611187565b6000828152600c602052604090206107ed908261120d565b6115378282611a8a565b6000828152600c602052604090206107ed9082611af1565b600a546001600160a01b031633146109c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161074c565b600080600080600085875af19050806107ed5760405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015260640161074c565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610c9d8383611b06565b816001600160a01b0316836001600160a01b0316036116b95760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161074c565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6060610c9d8383604051806060016040528060278152602001612d7d60279139611b30565b611756848484611392565b61176284848484611ba8565b610f035760405162461bcd60e51b815260040161074c90612bd7565b6060600061178b83611ca6565b600101905060008167ffffffffffffffff8111156117ab576117ab6124b0565b6040519080825280601f01601f1916602001820160405280156117d5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846117df57509392505050565b6000610619825490565b6001600160a01b0382166118715760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161074c565b6000818152600260205260409020546001600160a01b0316156118d65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161074c565b6118e260008383611a26565b6000818152600260205260409020546001600160a01b0316156119475760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161074c565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120546119f957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610619565b506000610619565b60006001600160e01b03198216637965db0b60e01b1480610619575061061982611d7e565b6107ed838383611da3565b611a3b8282610ca4565b6109a357611a4881611e5b565b611a53836020611e6d565b604051602001611a64929190612c29565b60408051601f198184030181529082905262461bcd60e51b825261074c91600401612402565b611a948282610ca4565b156109a3576000828152600b602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610c9d836001600160a01b038416612009565b6000826000018281548110611b1d57611b1d61295a565b9060005260206000200154905092915050565b6060600080856001600160a01b031685604051611b4d9190612c9e565b600060405180830381855af49150503d8060008114611b88576040519150601f19603f3d011682016040523d82523d6000602084013e611b8d565b606091505b5091509150611b9e868383876120fc565b9695505050505050565b60006001600160a01b0384163b15611c9e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611bec903390899088908890600401612cba565b6020604051808303816000875af1925050508015611c27575060408051601f3d908101601f19168201909252611c2491810190612ced565b60015b611c84573d808015611c55576040519150601f19603f3d011682016040523d82523d6000602084013e611c5a565b606091505b508051600003611c7c5760405162461bcd60e51b815260040161074c90612bd7565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061112c565b50600161112c565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611ce55772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611d11576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611d2f57662386f26fc10000830492506010015b6305f5e1008310611d47576305f5e100830492506008015b6127108310611d5b57612710830492506004015b60648310611d6d576064830492506002015b600a83106106195760010192915050565b60006001600160e01b0319821663780e9d6360e01b1480610619575061061982612175565b6001600160a01b038316611dfe57611df981600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611e21565b816001600160a01b0316836001600160a01b031614611e2157611e2183826121c5565b6001600160a01b038216611e38576107ed81612262565b826001600160a01b0316826001600160a01b0316146107ed576107ed8282612311565b60606106196001600160a01b03831660145b60606000611e7c836002612d0a565b611e87906002612d29565b67ffffffffffffffff811115611e9f57611e9f6124b0565b6040519080825280601f01601f191660200182016040528015611ec9576020820181803683370190505b509050600360fc1b81600081518110611ee457611ee461295a565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611f1357611f1361295a565b60200101906001600160f81b031916908160001a9053506000611f37846002612d0a565b611f42906001612d29565b90505b6001811115611fba576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611f7657611f7661295a565b1a60f81b828281518110611f8c57611f8c61295a565b60200101906001600160f81b031916908160001a90535060049490941c93611fb381612d3c565b9050611f45565b508315610c9d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161074c565b600081815260018301602052604081205480156120f257600061202d600183612d53565b855490915060009061204190600190612d53565b90508181146120a65760008660000182815481106120615761206161295a565b90600052602060002001549050808760000184815481106120845761208461295a565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806120b7576120b7612d66565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610619565b6000915050610619565b6060831561216b578251600003612164576001600160a01b0385163b6121645760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161074c565b508161112c565b61112c8383612355565b60006001600160e01b031982166380ac58cd60e01b14806121a657506001600160e01b03198216635b5e139f60e01b145b8061061957506301ffc9a760e01b6001600160e01b0319831614610619565b600060016121d284610bed565b6121dc9190612d53565b60008381526007602052604090205490915080821461222f576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061227490600190612d53565b6000838152600960205260408120546008805493945090928490811061229c5761229c61295a565b9060005260206000200154905080600883815481106122bd576122bd61295a565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806122f5576122f5612d66565b6001900381819060005260206000200160009055905550505050565b600061231c83610bed565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b8151156123655781518083602001fd5b8060405162461bcd60e51b815260040161074c9190612402565b6001600160e01b0319811681146110d957600080fd5b6000602082840312156123a757600080fd5b8135610c9d8161237f565b60005b838110156123cd5781810151838201526020016123b5565b50506000910152565b600081518084526123ee8160208601602086016123b2565b601f01601f19169290920160200192915050565b602081526000610c9d60208301846123d6565b60006020828403121561242757600080fd5b5035919050565b80356001600160a01b038116811461244557600080fd5b919050565b6000806040838503121561245d57600080fd5b6124668361242e565b946020939093013593505050565b60008060006060848603121561248957600080fd5b6124928461242e565b92506124a06020850161242e565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156124e1576124e16124b0565b604051601f8501601f19908116603f01168101908282118183101715612509576125096124b0565b8160405280935085815286868601111561252257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261254d57600080fd5b610c9d838335602085016124c6565b600080600080600060a0868803121561257457600080fd5b61257d8661242e565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff8111156125ae57600080fd5b6125ba8882890161253c565b9150509295509295909350565b600080604083850312156125da57600080fd5b823591506125ea6020840161242e565b90509250929050565b60006020828403121561260557600080fd5b610c9d8261242e565b60006020828403121561262057600080fd5b813567ffffffffffffffff81111561263757600080fd5b8201601f8101841361264857600080fd5b61112c848235602084016124c6565b6000806040838503121561266a57600080fd5b50508035926020909101359150565b6000806040838503121561268c57600080fd5b82359150602083013567ffffffffffffffff8111156126aa57600080fd5b6126b68582860161253c565b9150509250929050565b600080604083850312156126d357600080fd5b6126dc8361242e565b9150602083013580151581146126f157600080fd5b809150509250929050565b60006020828403121561270e57600080fd5b813567ffffffffffffffff81111561272557600080fd5b61112c8482850161253c565b6000806020838503121561274457600080fd5b823567ffffffffffffffff8082111561275c57600080fd5b818501915085601f83011261277057600080fd5b81358181111561277f57600080fd5b8660208260051b850101111561279457600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156127fb57603f198886030184526127e98583516123d6565b945092850192908501906001016127cd565b5092979650505050505050565b6000806000806080858703121561281e57600080fd5b6128278561242e565b93506128356020860161242e565b925060408501359150606085013567ffffffffffffffff81111561285857600080fd5b6128648782880161253c565b91505092959194509250565b6000806040838503121561288357600080fd5b61288c8361242e565b91506125ea6020840161242e565b600080600080608085870312156128b057600080fd5b6128b98561242e565b966020860135965060408601359560600135945092505050565b600181811c908216806128e757607f821691505b60208210810361290757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f8211156107ed57600081815260208120601f850160051c810160208610156129975750805b601f850160051c820191505b818110156129b6578281556001016129a3565b505050505050565b815167ffffffffffffffff8111156129d8576129d86124b0565b6129ec816129e684546128d3565b84612970565b602080601f831160018114612a215760008415612a095750858301515b600019600386901b1c1916600185901b1785556129b6565b600085815260208120601f198616915b82811015612a5057888601518255948401946001909101908401612a31565b5085821015612a6e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808335601e19843603018112612a9557600080fd5b83018035915067ffffffffffffffff821115612ab057600080fd5b602001915036819003821315612ac557600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b600060018201612af457612af4612acc565b5060010190565b6000808454612b09816128d3565b60018281168015612b215760018114612b3657612b65565b60ff1984168752821515830287019450612b65565b8860005260208060002060005b85811015612b5c5781548a820152908401908201612b43565b50505082870194505b505050508351612b798183602088016123b2565b64173539b7b760d91b9101908152600501949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612c618160178501602088016123b2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612c928160288401602088016123b2565b01602801949350505050565b60008251612cb08184602087016123b2565b9190910192915050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b9e908301846123d6565b600060208284031215612cff57600080fd5b8151610c9d8161237f565b6000816000190483118215151615612d2457612d24612acc565b500290565b8082018082111561061957610619612acc565b600081612d4b57612d4b612acc565b506000190190565b8181038181111561061957610619612acc565b634e487b7160e01b600052603160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bda22f5495f4111cf03d81f02cf92c0186601bd848de6e30898e5d77af9cde2d64736f6c63430008100033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000175468652050656e63696c20436173652050726f6a656374000000000000000000000000000000000000000000000000000000000000000000000000000000000650454e43494c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005368747470733a2f2f66687475636f6a686d6762716e6f6761697a74632e73757061626173652e636f2f73746f726167652f76312f6f626a6563742f7075626c69632f70656e63696c732f6d657461646174612f00000000000000000000000000