0 txs
40 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
bindingBitcoinAddress
viewfunction bindingBitcoinAddress(uint256) view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isMembership
viewfunction isMembership(string bitcoinAddress) view returns (bool)
isMinted
viewfunction isMinted(bytes32) view returns (bool)
isNFTMinted
viewfunction isNFTMinted(bytes32[] nfts) view returns (bool[])
isPublicMinted
viewfunction isPublicMinted(bytes32) view returns (bool)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
MINT_PRICE
viewfunction MINT_PRICE() view returns (uint256)
MINT_TIME
viewfunction MINT_TIME() view returns (uint256)
mintPrice
viewfunction mintPrice() view returns (uint256)
mintStart
viewfunction mintStart() view returns (uint256)
name
viewfunction name() view returns (string)
nextTokenId
viewfunction nextTokenId() view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
PUBLIC_MINT_AFTER_SNAPSHOT
viewfunction PUBLIC_MINT_AFTER_SNAPSHOT() view returns (uint256)
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)
approve
nonpayablefunction approve(address to, uint256 tokenId)
mint
payablefunction mint(address to, string[] collections, uint256[] tokenIds, bytes32[][] proofs) payable
mintLeftToTeam
nonpayablefunction mintLeftToTeam(address to, uint256 quantity)
publicMint
payablefunction publicMint(address to) payable
renounceOwnership
nonpayablefunction renounceOwnership()
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)
setBitcoinAddress
nonpayablefunction setBitcoinAddress(uint256 tokenId, string bitcoinAddress)
setMerkleRoot
nonpayablefunction setMerkleRoot(bytes32 _merkleRoot)
setStartTime
nonpayablefunction setStartTime(uint256 _startTime)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(address to, uint256 amount)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
bitcoinAddressSet
event bitcoinAddressSet(uint256 indexed tokenId, string indexed bitcoinAddress)
Minted
event Minted(address indexed to, string indexed collection, uint256 indexed tokenId)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PublicMinted
event PublicMinted(address indexed minter, address indexed to, uint256 indexed tokenId)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x60c06040526367f25fd1601055600160115534801561001d57600080fd5b50604080518082018252600d8082526c42697474792047656e6573697360981b6020808401829052845180860190955291845290830152906103e86702ea11e32ad500008383600061006f8382610285565b50600161007c8282610285565b5050506100956100906100b660201b60201c565b6100ba565b6001600b55608082905260a08190526100ad3261010c565b50505050610343565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61011461018a565b6001600160a01b03811661017e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610187816100ba565b50565b600a546001600160a01b031633146101e45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610175565b565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061021057607f821691505b60208210810361023057634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561028057806000526020600020601f840160051c8101602085101561025d5750805b601f840160051c820191505b8181101561027d5760008155600101610269565b50505b505050565b81516001600160401b0381111561029e5761029e6101e6565b6102b2816102ac84546101fc565b84610236565b6020601f8211600181146102e657600083156102ce5750848201515b600019600385901b1c1916600184901b17845561027d565b600084815260208120601f198516915b8281101561031657878501518255602094850194600190920191016102f6565b50848210156103345786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60805160a051613591610392600039600081816104e80152818161067001528181610b8a01526113380152600081816103e701528181610c2a015281816116b1015261214801526135916000f3fe6080604052600436106102465760003560e01c806370a0823111610139578063b88d4fde116100b6578063e985e9c51161007a578063e985e9c5146106da578063f1361c5d14610723578063f248180d14610743578063f2fde38b14610763578063f3fef3a314610783578063fb8acfed146107a357600080fd5b8063b88d4fde1461063e578063c002d23d1461065e578063c87b56dd14610692578063d547cfb7146106b2578063e0222b55146106c757600080fd5b806386c92d21116100fd57806386c92d211461058e5780638da5cb5b146105bb57806395d89b41146105d95780639e4c0be3146105ee578063a22cb4651461061e57600080fd5b806370a082311461050c578063715018a61461052c5780637405b64c1461054157806375794a3c146105585780637cb647591461056e57600080fd5b80632f745c59116101c7578063429198851161018b57806342919885146104495780634f6ccce71461047957806355f804b3146104995780636352211e146104b95780636817c76c146104d957600080fd5b80632f745c59146103a257806332a93a3a146103c257806332cb6b0c146103d55780633e0a322d1461040957806342842e0e1461042957600080fd5b806318160ddd1161020e57806318160ddd1461032157806323b872dd14610336578063255e46851461035657806326f640071461036c5780632eb4a7ab1461038c57600080fd5b806301ffc9a71461024b57806306fdde0314610280578063081812fc146102a2578063095ea7b3146102da5780630bfed92c146102fc575b600080fd5b34801561025757600080fd5b5061026b610266366004612ae6565b6107c3565b60405190151581526020015b60405180910390f35b34801561028c57600080fd5b506102956107ee565b6040516102779190612b53565b3480156102ae57600080fd5b506102c26102bd366004612b66565b610880565b6040516001600160a01b039091168152602001610277565b3480156102e657600080fd5b506102fa6102f5366004612b9b565b6108a7565b005b34801561030857600080fd5b506103136206978081565b604051908152602001610277565b34801561032d57600080fd5b50600854610313565b34801561034257600080fd5b506102fa610351366004612bc5565b6109c1565b34801561036257600080fd5b5061031360105481565b34801561037857600080fd5b5061026b610387366004612cc3565b6109f2565b34801561039857600080fd5b5061031360125481565b3480156103ae57600080fd5b506103136103bd366004612b9b565b610a1e565b6102fa6103d0366004612cf7565b610ab4565b3480156103e157600080fd5b506103137f000000000000000000000000000000000000000000000000000000000000000081565b34801561041557600080fd5b506102fa610424366004612b66565b610d95565b34801561043557600080fd5b506102fa610444366004612bc5565b610da2565b34801561045557600080fd5b5061026b610464366004612b66565b600d6020526000908152604090205460ff1681565b34801561048557600080fd5b50610313610494366004612b66565b610dbd565b3480156104a557600080fd5b506102fa6104b4366004612cc3565b610e50565b3480156104c557600080fd5b506102c26104d4366004612b66565b610e68565b3480156104e557600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610313565b34801561051857600080fd5b50610313610527366004612cf7565b610ec8565b34801561053857600080fd5b506102fa610f4e565b34801561054d57600080fd5b5061031362093a8081565b34801561056457600080fd5b5061031360115481565b34801561057a57600080fd5b506102fa610589366004612b66565b610f62565b34801561059a57600080fd5b506105ae6105a9366004612da2565b610f6f565b6040516102779190612dd6565b3480156105c757600080fd5b50600a546001600160a01b03166102c2565b3480156105e557600080fd5b5061029561102f565b3480156105fa57600080fd5b5061026b610609366004612b66565b600c6020526000908152604090205460ff1681565b34801561062a57600080fd5b506102fa610639366004612e1b565b61103e565b34801561064a57600080fd5b506102fa610659366004612e57565b611049565b34801561066a57600080fd5b506103137f000000000000000000000000000000000000000000000000000000000000000081565b34801561069e57600080fd5b506102956106ad366004612b66565b611081565b3480156106be57600080fd5b506102956110e8565b6102fa6106d5366004612f54565b611176565b3480156106e657600080fd5b5061026b6106f5366004613063565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561072f57600080fd5b506102fa61073e366004613096565b611481565b34801561074f57600080fd5b506102fa61075e366004612b9b565b6115e8565b34801561076f57600080fd5b506102fa61077e366004612cf7565b611735565b34801561078f57600080fd5b506102fa61079e366004612b9b565b6117ab565b3480156107af57600080fd5b506102956107be366004612b66565b6118b7565b60006001600160e01b03198216637511a66b60e11b14806107e857506107e8826118d0565b92915050565b6060600080546107fd906130dc565b80601f0160208091040260200160405190810160405280929190818152602001828054610829906130dc565b80156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050505050905090565b600061088b826118f5565b506000908152600460205260409020546001600160a01b031690565b60006108b282610e68565b9050806001600160a01b0316836001600160a01b0316036109245760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610940575061094081336106f5565b6109b25760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161091b565b6109bc8383611954565b505050565b6109cb33826119c2565b6109e75760405162461bcd60e51b815260040161091b90613116565b6109bc838383611a41565b600080610a17600f82610a0486613163565b8152602001908152602001600020611bb2565b1192915050565b6000610a2983610ec8565b8210610a8b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b606482015260840161091b565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b610abc611bbc565b60105415801590610add575062069780601054610ad9919061319d565b4210155b610b295760405162461bcd60e51b815260206004820152601e60248201527f7075626c6963206d696e74206973206e6f742073746172746564207965740000604482015260640161091b565b60105415801590610b49575062093a80601054610b46919061319d565b42105b610b885760405162461bcd60e51b815260206004820152601060248201526f1b5a5b9d081a5cc8199a5b9a5cda195960821b604482015260640161091b565b7f00000000000000000000000000000000000000000000000000000000000000003414610beb5760405162461bcd60e51b81526020600482015260116024820152701c185e5b595b9d081b9bdd081c9a59da1d607a1b604482015260640161091b565b6001600160a01b038116610c115760405162461bcd60e51b815260040161091b906131b0565b6011805460009182610c22836131db565b9190505590507f0000000000000000000000000000000000000000000000000000000000000000811115610c855760405162461bcd60e51b815260206004820152600a6024820152691b5a5b9d1959081bdd5d60b21b604482015260640161091b565b6040516bffffffffffffffffffffffff193260601b16602082015260009060340160408051601f1981840301815291815281516020928301206000818152600d90935291205490915060ff1615610d2f5760405162461bcd60e51b815260206004820152602860248201527f6f6e6520616464726573732063616e206f6e6c79207075626c6963206d696e74604482015267081bdb994813919560c21b606482015260840161091b565b610d398383611c15565b6000818152600d6020526040808220805460ff191660011790555183916001600160a01b0386169132917f410c6e5c06005ee355e68af35206e2da9cfeda371c2248b316fb64f261b38b1491a45050610d926001600b55565b50565b610d9d611dae565b601055565b6109bc83838360405180602001604052806000815250611049565b6000610dc860085490565b8210610e2b5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b606482015260840161091b565b60088281548110610e3e57610e3e6131f4565b90600052602060002001549050919050565b610e58611dae565b6013610e648282613251565b5050565b6000818152600260205260408120546001600160a01b0316806107e85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161091b565b60006001600160a01b038216610f325760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161091b565b506001600160a01b031660009081526003602052604090205490565b610f56611dae565b610f606000611e08565b565b610f6a611dae565b601255565b6060600082516001600160401b03811115610f8c57610f8c612c02565b604051908082528060200260200182016040528015610fb5578160200160208202803683370190505b50905060005b835181101561102857600c6000858381518110610fda57610fda6131f4565b6020026020010151815260200190815260200160002060009054906101000a900460ff16828281518110611010576110106131f4565b91151560209283029190910190910152600101610fbb565b5092915050565b6060600180546107fd906130dc565b610e64338383611e5a565b61105333836119c2565b61106f5760405162461bcd60e51b815260040161091b90613116565b61107b84848484611f28565b50505050565b606061108c826118f5565b6000611096611f5b565b905060008151116110b657604051806020016040528060008152506110e1565b806110c084611f6a565b6040516020016110d192919061330f565b6040516020818303038152906040525b9392505050565b601380546110f5906130dc565b80601f0160208091040260200160405190810160405280929190818152602001828054611121906130dc565b801561116e5780601f106111435761010080835404028352916020019161116e565b820191906000526020600020905b81548152906001019060200180831161115157829003601f168201915b505050505081565b61117e611bbc565b6010541580159061119157506010544210155b6111dd5760405162461bcd60e51b815260206004820152601760248201527f6d696e74206973206e6f74207374617274656420796574000000000000000000604482015260640161091b565b601054158015906111fd575062093a806010546111fa919061319d565b42105b61123c5760405162461bcd60e51b815260206004820152601060248201526f1b5a5b9d081a5cc8199a5b9a5cda195960821b604482015260640161091b565b8282828682518451146112a35760405162461bcd60e51b815260206004820152602960248201527f636f6c6c656374696f6e7320616e6420746f6b656e496473206c656e677468206044820152680dcdee840dac2e8c6d60bb1b606482015260840161091b565b6112af84848484611ffc565b6112ed5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b88139195081b1a5cdd608a1b604482015260640161091b565b6112f784846120ad565b6113365760405162461bcd60e51b815260206004820152601060248201526f4e4654207573656420616c726561647960801b604482015260640161091b565b7f00000000000000000000000000000000000000000000000000000000000000008651611363919061333e565b34146113a55760405162461bcd60e51b81526020600482015260116024820152701c185e5b595b9d081b9bdd081c9a59da1d607a1b604482015260640161091b565b60005b8751811015611472576113ee898983815181106113c7576113c76131f4565b60200260200101518984815181106113e1576113e16131f4565b602002602001015161212f565b868181518110611400576114006131f4565b602002602001015188828151811061141a5761141a6131f4565b602002602001015160405161142f9190613355565b604051908190038120906001600160a01b038c16907fe678c8da3d2d6082f140bbbaa1ee822f0c7072ab604536db4a3e0315f8a9277690600090a46001016113a8565b505050505061107b6001600b55565b611489611bbc565b3361149383610e68565b6001600160a01b0316146114d95760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161091b565b8080519060200120600e60008481526020019081526020016000206040516115019190613371565b6040518091039020036115605760405162461bcd60e51b815260206004820152602160248201527f6475706c696361746520626974636f696e20616464726573732073657474696e6044820152606760f81b606482015260840161091b565b6000828152600e602052604090206115788282613251565b5061159d600f600061158984613163565b8152602001908152602001600020836121dc565b50806040516115ac9190613355565b6040519081900381209083907f4183af2f6c5c3bbb264ccc3991abe0a6bde9a2c88f332f64e41646ecf7b120b990600090a3610e646001600b55565b6115f0611dae565b60105415801590611610575062093a8060105461160d919061319d565b42115b61165c5760405162461bcd60e51b815260206004820152601860248201527f6d696e74206973206e6f742066696e6973686564207965740000000000000000604482015260640161091b565b6001600160a01b0382166116825760405162461bcd60e51b815260040161091b906131b0565b6001600160a01b0382163b156116aa5760405162461bcd60e51b815260040161091b906131b0565b60006011547f00000000000000000000000000000000000000000000000000000000000000006116da91906133e6565b6116e590600161319d565b905060008183116116f657826116f8565b815b905060005b8181101561172e5761171185601154611c15565b60118054906000611721836131db565b90915550506001016116fd565b5050505050565b61173d611dae565b6001600160a01b0381166117a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161091b565b610d9281611e08565b6117b3611dae565b6001600160a01b0382166117d95760405162461bcd60e51b815260040161091b906131b0565b478111156118205760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015260640161091b565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461186d576040519150601f19603f3d011682016040523d82523d6000602084013e611872565b606091505b50509050806109bc5760405162461bcd60e51b81526020600482015260116024820152701dda5d1a191c985dd85b0819985a5b1959607a1b604482015260640161091b565b600e60205260009081526040902080546110f5906130dc565b60006001600160e01b0319821663780e9d6360e01b14806107e857506107e8826121e8565b6000818152600260205260409020546001600160a01b0316610d925760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161091b565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061198982610e68565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806119ce83610e68565b9050806001600160a01b0316846001600160a01b03161480611a1557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80611a395750836001600160a01b0316611a2e84610880565b6001600160a01b0316145b949350505050565b826001600160a01b0316611a5482610e68565b6001600160a01b031614611a7a5760405162461bcd60e51b815260040161091b906133f9565b6001600160a01b038216611adc5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161091b565b611ae98383836001612238565b826001600160a01b0316611afc82610e68565b6001600160a01b031614611b225760405162461bcd60e51b815260040161091b906133f9565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006107e8825490565b6002600b5403611c0e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161091b565b6002600b55565b6001600160a01b038216611c6b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161091b565b6000818152600260205260409020546001600160a01b031615611cd05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161091b565b611cde600083836001612238565b6000818152600260205260409020546001600160a01b031615611d435760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161091b565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600a546001600160a01b03163314610f605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161091b565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603611ebb5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161091b565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611f33848484611a41565b611f3f84848484612352565b61107b5760405162461bcd60e51b815260040161091b9061343e565b6060601380546107fd906130dc565b60606000611f7783612450565b60010190506000816001600160401b03811115611f9657611f96612c02565b6040519080825280601f01601f191660200182016040528015611fc0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611fca57509392505050565b6000805b85518110156120a15761208b84828151811061201e5761201e6131f4565b602002602001015160125488848151811061203b5761203b6131f4565b6020026020010151888581518110612055576120556131f4565b60200260200101518760405160200161207093929190613490565b60405160208183030381529060405280519060200120612528565b612099576000915050611a39565b600101612000565b50600195945050505050565b6000805b835181101561212557600c60006120fa8684815181106120d3576120d36131f4565b60200260200101518685815181106120ed576120ed6131f4565b602002602001015161253e565b815260208101919091526040016000205460ff161561211d5760009150506107e8565b6001016120b1565b5060019392505050565b6011805460009182612140836131db565b9190505590507f00000000000000000000000000000000000000000000000000000000000000008111156121a35760405162461bcd60e51b815260206004820152600a6024820152691b5a5b9d1959081bdd5d60b21b604482015260640161091b565b6001600c60006121b3868661253e565b81526020810191909152604001600020805460ff191691151591909117905561107b8482611c15565b60006110e18383612571565b60006001600160e01b031982166380ac58cd60e01b148061221957506001600160e01b03198216635b5e139f60e01b145b806107e857506301ffc9a760e01b6001600160e01b03198316146107e8565b612244848484846125c0565b826001600160a01b0316846001600160a01b0316031561107b576001600160a01b0383161561107b576000828152600e602052604081208054612286906130dc565b80601f01602080910402602001604051908101604052809291908181526020018280546122b2906130dc565b80156122ff5780601f106122d4576101008083540402835291602001916122ff565b820191906000526020600020905b8154815290600101906020018083116122e257829003601f168201915b50505050509050805160001461172e576000838152600e6020526040812061232691612a82565b61234a600f600061233684613163565b8152602001908152602001600020846126f9565b505050505050565b60006001600160a01b0384163b1561244857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906123969033908990889088906004016134c9565b6020604051808303816000875af19250505080156123d1575060408051601f3d908101601f191682019092526123ce91810190613506565b60015b61242e573d8080156123ff576040519150601f19603f3d011682016040523d82523d6000602084013e612404565b606091505b5080516000036124265760405162461bcd60e51b815260040161091b9061343e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a39565b506001611a39565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061248f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106124bb576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106124d957662386f26fc10000830492506010015b6305f5e10083106124f1576305f5e100830492506008015b612710831061250557612710830492506004015b60648310612517576064830492506002015b600a83106107e85760010192915050565b6000826125358584612705565b14949350505050565b60008282604051602001612553929190613523565b60405160208183030381529060405280519060200120905092915050565b60008181526001830160205260408120546125b8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e8565b5060006107e8565b6125cc84848484612748565b600181111561263b5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b606482015260840161091b565b816001600160a01b0385166126975761269281600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6126ba565b836001600160a01b0316856001600160a01b0316146126ba576126ba85826127d0565b6001600160a01b0384166126d6576126d18161286d565b61172e565b846001600160a01b0316846001600160a01b03161461172e5761172e848261291c565b60006110e18383612960565b600081815b84518110156127405761273682868381518110612729576127296131f4565b6020026020010151612a53565b915060010161270a565b509392505050565b600181111561107b576001600160a01b0384161561278e576001600160a01b038416600090815260036020526040812080548392906127889084906133e6565b90915550505b6001600160a01b0383161561107b576001600160a01b038316600090815260036020526040812080548392906127c590849061319d565b909155505050505050565b600060016127dd84610ec8565b6127e791906133e6565b60008381526007602052604090205490915080821461283a576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061287f906001906133e6565b600083815260096020526040812054600880549394509092849081106128a7576128a76131f4565b9060005260206000200154905080600883815481106128c8576128c86131f4565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061290057612900613545565b6001900381819060005260206000200160009055905550505050565b600061292783610ec8565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b60008181526001830160205260408120548015612a495760006129846001836133e6565b8554909150600090612998906001906133e6565b90508181146129fd5760008660000182815481106129b8576129b86131f4565b90600052602060002001549050808760000184815481106129db576129db6131f4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a0e57612a0e613545565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506107e8565b60009150506107e8565b6000818310612a6f5760008281526020849052604090206110e1565b60008381526020839052604090206110e1565b508054612a8e906130dc565b6000825580601f10612a9e575050565b601f016020900490600052602060002090810190610d9291905b80821115612acc5760008155600101612ab8565b5090565b6001600160e01b031981168114610d9257600080fd5b600060208284031215612af857600080fd5b81356110e181612ad0565b60005b83811015612b1e578181015183820152602001612b06565b50506000910152565b60008151808452612b3f816020860160208601612b03565b601f01601f19169290920160200192915050565b6020815260006110e16020830184612b27565b600060208284031215612b7857600080fd5b5035919050565b80356001600160a01b0381168114612b9657600080fd5b919050565b60008060408385031215612bae57600080fd5b612bb783612b7f565b946020939093013593505050565b600080600060608486031215612bda57600080fd5b612be384612b7f565b9250612bf160208501612b7f565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715612c4057612c40612c02565b604052919050565b6000806001600160401b03841115612c6257612c62612c02565b50601f8301601f1916602001612c7781612c18565b915050828152838383011115612c8c57600080fd5b828260208301376000602084830101529392505050565b600082601f830112612cb457600080fd5b6110e183833560208501612c48565b600060208284031215612cd557600080fd5b81356001600160401b03811115612ceb57600080fd5b611a3984828501612ca3565b600060208284031215612d0957600080fd5b6110e182612b7f565b60006001600160401b03821115612d2b57612d2b612c02565b5060051b60200190565b600082601f830112612d4657600080fd5b8135612d59612d5482612d12565b612c18565b8082825260208201915060208360051b860101925085831115612d7b57600080fd5b602085015b83811015612d98578035835260209283019201612d80565b5095945050505050565b600060208284031215612db457600080fd5b81356001600160401b03811115612dca57600080fd5b611a3984828501612d35565b602080825282518282018190526000918401906040840190835b81811015612e105783511515835260209384019390920191600101612df0565b509095945050505050565b60008060408385031215612e2e57600080fd5b612e3783612b7f565b915060208301358015158114612e4c57600080fd5b809150509250929050565b60008060008060808587031215612e6d57600080fd5b612e7685612b7f565b9350612e8460208601612b7f565b92506040850135915060608501356001600160401b03811115612ea657600080fd5b8501601f81018713612eb757600080fd5b612ec687823560208401612c48565b91505092959194509250565b600082601f830112612ee357600080fd5b8135612ef1612d5482612d12565b8082825260208201915060208360051b860101925085831115612f1357600080fd5b602085015b83811015612d985780356001600160401b03811115612f3657600080fd5b612f45886020838a0101612d35565b84525060209283019201612f18565b60008060008060808587031215612f6a57600080fd5b612f7385612b7f565b935060208501356001600160401b03811115612f8e57600080fd5b8501601f81018713612f9f57600080fd5b8035612fad612d5482612d12565b8082825260208201915060208360051b850101925089831115612fcf57600080fd5b602084015b838110156130105780356001600160401b03811115612ff257600080fd5b6130018c602083890101612ca3565b84525060209283019201612fd4565b50955050505060408501356001600160401b0381111561302f57600080fd5b61303b87828801612d35565b92505060608501356001600160401b0381111561305757600080fd5b612ec687828801612ed2565b6000806040838503121561307657600080fd5b61307f83612b7f565b915061308d60208401612b7f565b90509250929050565b600080604083850312156130a957600080fd5b8235915060208301356001600160401b038111156130c657600080fd5b6130d285828601612ca3565b9150509250929050565b600181811c908216806130f057607f821691505b60208210810361311057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b805160208083015191908110156131105760001960209190910360031b1b16919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107e8576107e8613187565b6020808252601190820152701a5b9d985b1a59081c9958da5c1a595b9d607a1b604082015260600190565b6000600182016131ed576131ed613187565b5060010190565b634e487b7160e01b600052603260045260246000fd5b601f8211156109bc57806000526020600020601f840160051c810160208510156132315750805b601f840160051c820191505b8181101561172e576000815560010161323d565b81516001600160401b0381111561326a5761326a612c02565b61327e8161327884546130dc565b8461320a565b6020601f8211600181146132b2576000831561329a5750848201515b600019600385901b1c1916600184901b17845561172e565b600084815260208120601f198516915b828110156132e257878501518255602094850194600190920191016132c2565b50848210156133005786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60008351613321818460208801612b03565b835190830190613335818360208801612b03565b01949350505050565b80820281158282048414176107e8576107e8613187565b60008251613367818460208701612b03565b9190910192915050565b600080835461337f816130dc565b60018216801561339657600181146133ab576133db565b60ff19831686528115158202860193506133db565b86600052602060002060005b838110156133d3578154888201526001909101906020016133b7565b505081860193505b509195945050505050565b818103818111156107e8576107e8613187565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600084516134a2818460208901612b03565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906134fc90830184612b27565b9695505050505050565b60006020828403121561351857600080fd5b81516110e181612ad0565b60008351613535818460208801612b03565b9190910191825250602001919050565b634e487b7160e01b600052603160045260246000fdfea264697066735822122060b2baa9b245d6ffb8d093092836551cbda162d9902ef83403a364acef06c6ee64736f6c634300081b0033