354 txs
1k calls
constructor
constructor(address _privixToken, string initialBaseURI)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseURI
viewfunction baseURI() view returns (string)
DIAMOND_END
viewfunction DIAMOND_END() view returns (uint256)
DIAMOND_START
viewfunction DIAMOND_START() view returns (uint256)
diamondMinted
viewfunction diamondMinted() view returns (uint256)
diamondSupplyCap
viewfunction diamondSupplyCap() view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getBurnableSupply
viewfunction getBurnableSupply() view returns (uint256 totalBurnable, uint256 goldBurnable, uint256 diamondBurnable)
getNextTokenIds
viewfunction getNextTokenIds() view returns (uint256 nextGold, uint256 nextDiamond)
getRemainingSupply
viewfunction getRemainingSupply() view returns (uint256 goldLeft, uint256 diamondLeft, uint256 publicLeft, uint256 ownerLeft, uint256 totalLeft)
getSupplyCaps
viewfunction getSupplyCaps() view returns (uint256 totalCap, uint256 goldCap, uint256 diamondCap)
getSupplyInfo
viewfunction getSupplyInfo() view returns (uint256 totalSupply_, uint256 publicMinted_, uint256 ownerMinted_, uint256 goldMinted_, uint256 diamondMinted_)
getTier
viewfunction getTier(uint256 tokenId) view returns (string)
GOLD_END
viewfunction GOLD_END() view returns (uint256)
GOLD_START
viewfunction GOLD_START() view returns (uint256)
goldMinted
viewfunction goldMinted() view returns (uint256)
goldSupplyCap
viewfunction goldSupplyCap() view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MINT_PRICE
viewfunction MINT_PRICE() view returns (uint256)
minted
viewfunction minted(address) view returns (bool)
name
viewfunction name() view returns (string)
nextDiamondTokenId
viewfunction nextDiamondTokenId() view returns (uint256)
nextGoldTokenId
viewfunction nextGoldTokenId() view returns (uint256)
OWNER_SUPPLY
viewfunction OWNER_SUPPLY() view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerMinted
viewfunction ownerMinted() view returns (uint256)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
privixToken
viewfunction privixToken() view returns (address)
PUBLIC_SUPPLY
viewfunction PUBLIC_SUPPLY() view returns (uint256)
publicMinted
viewfunction publicMinted() 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)
tokenTier
viewfunction tokenTier(uint256) view returns (uint8)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupplyCap
viewfunction totalSupplyCap() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burnUnmintedSupply
nonpayablefunction burnUnmintedSupply(uint256 newTotalSupply, uint256 newGoldSupply, uint256 newDiamondSupply)
mint
nonpayablefunction mint(uint8 tier)
ownerBatchMint
nonpayablefunction ownerBatchMint(address to, uint256 goldQuantity, uint256 diamondQuantity)
ownerMint
nonpayablefunction ownerMint(address to, uint8 tier, uint256 quantity)
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 _newURI)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawTokens
nonpayablefunction withdrawTokens(address to)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BaseURIUpdated
event BaseURIUpdated(string newBaseURI)
NFTMinted
event NFTMinted(address indexed minter, uint256 indexed tokenId, uint8 tier)
OwnerMinted
event OwnerMinted(address indexed owner, uint256 indexed tokenId, uint8 tier)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SupplyBurned
event SupplyBurned(uint256 newTotalSupply, uint256 newGoldSupply, uint256 newDiamondSupply)
TokensWithdrawn
event TokensWithdrawn(address indexed to, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x60a06040526103e8600b556101f4600c556101f4600d5560016013556101f560145534801561002c575f5ffd5b5060405161375438038061375483398101604081905261004b9161014d565b6040518060400160405280600f81526020016e507269766978204e4654205061737360881b815250604051806040016040528060038152602001620504e560ec1b815250815f908161009d91906102a0565b5060016100aa82826102a0565b5050506100c36100be6100e460201b60201c565b6100e8565b6001600160a01b038216608052600e6100dc82826102a0565b50505061035a565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561015e575f5ffd5b82516001600160a01b0381168114610174575f5ffd5b60208401519092506001600160401b0381111561018f575f5ffd5b8301601f8101851361019f575f5ffd5b80516001600160401b038111156101b8576101b8610139565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101e6576101e6610139565b6040528181528282016020018710156101fd575f5ffd5b8160208401602083015e5f602083830101528093505050509250929050565b600181811c9082168061023057607f821691505b60208210810361024e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561029b57805f5260205f20601f840160051c810160208510156102795750805b601f840160051c820191505b81811015610298575f8155600101610285565b50505b505050565b81516001600160401b038111156102b9576102b9610139565b6102cd816102c7845461021c565b84610254565b6020601f8211600181146102ff575f83156102e85750848201515b5f19600385901b1c1916600184901b178455610298565b5f84815260208120601f198516915b8281101561032e578785015182556020948501946001909201910161030e565b508482101561034b57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6080516133cd6103875f395f8181610574015281816111970152818161126c01526116c201526133cd5ff3fe608060405234801561000f575f5ffd5b50600436106102e5575f3560e01c8063649e705f11610195578063a9aa889d116100e4578063d649fdba1161009e578063e985e9c511610079578063e985e9c514610644578063ed49893d1461067f578063f2fde38b14610688578063fb99c0641461069b575f5ffd5b8063d649fdba1461062b578063d96dcdf514610634578063e4b7fb731461063c575f5ffd5b8063a9aa889d146105dd578063b662dc9b146103aa578063b88d4fde146105f0578063bb102aea14610603578063c002d23d1461060c578063c87b56dd14610618575f5ffd5b80637628fd401161014f57806395d89b411161012a57806395d89b41146105b05780639607234a146105b8578063a22cb465146105c1578063a4f4f8af146105d4575f5ffd5b80637628fd401461056f5780638342083a146105965780638da5cb5b1461059f575f5ffd5b8063649e705f14610501578063650eee91146105305780636c0360eb146105395780636ecd23061461054157806370a0823114610554578063715018a614610567575f5ffd5b80632f745c59116102515780634f062c5a1161020b57806353f0c645116101e657806353f0c645146104b757806355f804b3146104c0578063570803b1146104d35780636352211e146104ee575f5ffd5b80634f062c5a146104885780634f52b6f71461049b5780634f6ccce7146104a4575f5ffd5b80632f745c5914610421578063369880ee1461043457806342842e0e1461044757806348bee4ce1461045a57806349df728c1461046d5780634d6cd0a314610480575f5ffd5b806318160ddd116102a257806318160ddd146103a25780631dbf8eff146103aa5780631e7269c5146103b357806320edeaf3146103d55780632145315c1461040557806323b872dd1461040e575f5ffd5b806301ffc9a7146102e957806306fdde0314610311578063081812fc14610326578063095ea7b3146103515780630bf7a62714610366578063180f72711461037d575b5f5ffd5b6102fc6102f7366004612bbd565b6106a4565b60405190151581526020015b60405180910390f35b6103196106b4565b6040516103089190612c0d565b610339610334366004612c1f565b610743565b6040516001600160a01b039091168152602001610308565b61036461035f366004612c51565b610768565b005b61036f60125481565b604051908152602001610308565b600b54600c54600d545b60408051938452602084019290925290820152606001610308565b60085461036f565b61036f6101f481565b6102fc6103c1366004612c79565b60166020525f908152604090205460ff1681565b6103dd610881565b604080519586526020860194909452928401919091526060830152608082015260a001610308565b61036f60145481565b61036461041c366004612c92565b6108ac565b61036f61042f366004612c51565b6108dd565b610364610442366004612ccc565b610971565b610364610455366004612c92565b610d4b565b610364610468366004612d0a565b610d65565b61036461047b366004612c79565b611178565b61036f600181565b610319610496366004612c1f565b61131e565b61036f600c5481565b61036f6104b2366004612c1f565b6113e7565b61036f60105481565b6103646104ce366004612dbe565b611477565b60135460145460408051928352602083019190915201610308565b6103396104fc366004612c1f565b6114c6565b61052361050f366004612c1f565b60156020525f908152604090205460ff1681565b6040516103089190612e17565b61036f600d5481565b610319611525565b61036461054f366004612e3d565b6115b1565b61036f610562366004612c79565b611969565b6103646119ed565b6103397f000000000000000000000000000000000000000000000000000000000000000081565b61036f61032081565b600a546001600160a01b0316610339565b610319611a00565b61036f600f5481565b6103646105cf366004612e63565b611a0f565b61036f60115481565b6103646105eb366004612e98565b611a1e565b6103646105fe366004612ec1565b611deb565b61036f600b5481565b61036f64e8d4a5100081565b610319610626366004612c1f565b611e1d565b61036f60135481565b610387611eac565b6103dd611ef0565b6102fc610652366004612f38565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b61036f6101f581565b610364610696366004612c79565b611f5c565b61036f6103e881565b5f6106ae82611fd5565b92915050565b60605f80546106c290612f69565b80601f01602080910402602001604051908101604052809291908181526020018280546106ee90612f69565b80156107395780601f1061071057610100808354040283529160200191610739565b820191905f5260205f20905b81548152906001019060200180831161071c57829003601f168201915b5050505050905090565b5f61074d82611ff9565b505f908152600460205260409020546001600160a01b031690565b5f610772826114c6565b9050806001600160a01b0316836001600160a01b0316036107e45760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061080057506108008133610652565b6108725760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016107db565b61087c8383612057565b505050565b5f5f5f5f5f61088f60085490565b945060115493506012549250600f54915060105490509091929394565b6108b633826120c4565b6108d25760405162461bcd60e51b81526004016107db90612fa1565b61087c838383612141565b5f6108e783611969565b82106109495760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016107db565b506001600160a01b03919091165f908152600660209081526040808320938352929052205490565b6109796122b0565b6001600160a01b0383166109c15760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016107db565b5f6109cc8284613002565b90505f811180156109de575060c88111155b610a2a5760405162461bcd60e51b815260206004820152601860248201527f43616e206d696e7420312d32303020706572206261746368000000000000000060448201526064016107db565b6101f481601254610a3b9190613002565b1115610a815760405162461bcd60e51b815260206004820152601560248201527413dddb995c881cdd5c1c1b1e48195e18d959591959605a1b60448201526064016107db565b600b5481610a8e60085490565b610a989190613002565b1115610ade5760405162461bcd60e51b8152602060048201526015602482015274151bdd185b081cdd5c1c1b1e48195e18d959591959605a1b60448201526064016107db565b600c5483600f54610aef9190613002565b1115610b345760405162461bcd60e51b815260206004820152601460248201527311dbdb19081cdd5c1c1b1e48195e18d95959195960621b60448201526064016107db565b600d5482601054610b459190613002565b1115610b8d5760405162461bcd60e51b8152602060048201526017602482015276111a585b5bdb99081cdd5c1c1b1e48195e18d959591959604a1b60448201526064016107db565b6101f4600184601354610ba09190613002565b610baa9190613015565b1115610bc85760405162461bcd60e51b81526004016107db90613028565b6103e8600183601454610bdb9190613002565b610be59190613015565b1115610c035760405162461bcd60e51b81526004016107db90613056565b5f5b83811015610ca157601380549081905f610c1e8361308d565b9190505550610c2d868261230a565b5f818152601560205260408120805460ff19169055600f805491610c508361308d565b909155505060128054905f610c648361308d565b919050555080866001600160a01b03165f5160206133785f395f51905f525f604051610c909190612e17565b60405180910390a350600101610c05565b505f5b82811015610d4457601480549081905f610cbd8361308d565b9190505550610ccc868261230a565b5f818152601560205260408120805460ff191660011790556010805491610cf28361308d565b909155505060128054905f610d068361308d565b919050555080866001600160a01b03165f5160206133785f395f51905f526001604051610d339190612e17565b60405180910390a350600101610ca4565b5050505050565b61087c83838360405180602001604052805f815250611deb565b610d6d6122b0565b6001600160a01b038316610db55760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016107db565b5f81118015610dc5575060648111155b610e115760405162461bcd60e51b815260206004820152601e60248201527f43616e206d696e7420312d31303020706572207472616e73616374696f6e000060448201526064016107db565b6101f481601254610e229190613002565b1115610e685760405162461bcd60e51b815260206004820152601560248201527413dddb995c881cdd5c1c1b1e48195e18d959591959605a1b60448201526064016107db565b600b5481610e7560085490565b610e7f9190613002565b1115610ec55760405162461bcd60e51b8152602060048201526015602482015274151bdd185b081cdd5c1c1b1e48195e18d959591959605a1b60448201526064016107db565b5f826001811115610ed857610ed8612e03565b0361102c57600c5481600f54610eee9190613002565b1115610f335760405162461bcd60e51b815260206004820152601460248201527311dbdb19081cdd5c1c1b1e48195e18d95959195960621b60448201526064016107db565b6101f4600182601354610f469190613002565b610f509190613015565b1115610f6e5760405162461bcd60e51b81526004016107db90613028565b5f5b8181101561102657601380549081905f610f898361308d565b9190505550610f98858261230a565b5f818152601560205260409020805485919060ff191660018381811115610fc157610fc1612e03565b0217905550600f8054905f610fd58361308d565b909155505060128054905f610fe98361308d565b919050555080856001600160a01b03165f5160206133785f395f51905f52866040516110159190612e17565b60405180910390a350600101610f70565b50505050565b600d548160105461103d9190613002565b11156110855760405162461bcd60e51b8152602060048201526017602482015276111a585b5bdb99081cdd5c1c1b1e48195e18d959591959604a1b60448201526064016107db565b6103e86001826014546110989190613002565b6110a29190613015565b11156110c05760405162461bcd60e51b81526004016107db90613056565b5f5b8181101561102657601480549081905f6110db8361308d565b91905055506110ea858261230a565b5f818152601560205260409020805485919060ff19166001838181111561111357611113612e03565b021790555060108054905f6111278361308d565b909155505060128054905f61113b8361308d565b919050555080856001600160a01b03165f5160206133785f395f51905f52866040516111679190612e17565b60405180910390a3506001016110c2565b6111806122b0565b6040516370a0823160e01b81523060048201525f907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156111e4573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061120891906130a5565b90505f81116112465760405162461bcd60e51b815260206004820152600a6024820152694e6f2062616c616e636560b01b60448201526064016107db565b60405163a9059cbb60e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303815f875af11580156112b2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d691906130bc565b50816001600160a01b03167f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b8260405161131291815260200190565b60405180910390a25050565b5f818152600260205260409020546060906001600160a01b031661137b5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016107db565b5f8281526015602052604081205460ff16600181111561139d5761139d612e03565b146113c75760405180604001604052806007815260200166111a585b5bdb9960ca1b8152506106ae565b505060408051808201909152600481526311dbdb1960e21b602082015290565b5f6113f160085490565b82106114545760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016107db565b60088281548110611467576114676130d7565b905f5260205f2001549050919050565b61147f6122b0565b600e61148b828261312f565b507f6741b2fc379fad678116fe3d4d4b9a1a184ab53ba36b86ad0fa66340b1ab41ad816040516114bb9190612c0d565b60405180910390a150565b5f818152600260205260408120546001600160a01b0316806106ae5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107db565b600e805461153290612f69565b80601f016020809104026020016040519081016040528092919081815260200182805461155e90612f69565b80156115a95780601f10611580576101008083540402835291602001916115a9565b820191905f5260205f20905b81548152906001019060200180831161158c57829003601f168201915b505050505081565b600b54600854106115f65760405162461bcd60e51b815260206004820152600f60248201526e105b1b081391951cc81b5a5b9d1959608a1b60448201526064016107db565b610320601154106116495760405162461bcd60e51b815260206004820152601760248201527f5075626c696320737570706c792065786861757374656400000000000000000060448201526064016107db565b335f9081526016602052604090205460ff161561169c5760405162461bcd60e51b81526020600482015260116024820152700c481b5a5b9d081c195c881dd85b1b195d607a1b60448201526064016107db565b6040516323b872dd60e01b815233600482015230602482015264e8d4a5100060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015611710573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061173491906130bc565b6117795760405162461bcd60e51b8152602060048201526016602482015275141492559256081d1c985b9cd9995c8819985a5b195960521b60448201526064016107db565b5f8082600181111561178d5761178d612e03565b0361182957600c54600f54106117d55760405162461bcd60e51b815260206004820152600d60248201526c11dbdb19081cdbdb19081bdd5d609a1b60448201526064016107db565b6101f460135411156117f95760405162461bcd60e51b81526004016107db90613028565b50601380549081905f61180b8361308d565b9091555050600f8054905f61181f8361308d565b91905055506118bf565b600d546010541061186f5760405162461bcd60e51b815260206004820152601060248201526f111a585b5bdb99081cdbdb19081bdd5d60821b60448201526064016107db565b6103e860145411156118935760405162461bcd60e51b81526004016107db90613056565b50601480549081905f6118a58361308d565b909155505060108054905f6118b98361308d565b91905055505b6118c9338261230a565b5f818152601560205260409020805483919060ff1916600183818111156118f2576118f2612e03565b0217905550335f908152601660205260408120805460ff19166001179055601180549161191e8361308d565b919050555080336001600160a01b03167f5716925f2a990bb51e5354134a606547c86dc787be1a2729eef575fd0c2bea1e8460405161195d9190612e17565b60405180910390a35050565b5f6001600160a01b0382166119d25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016107db565b506001600160a01b03165f9081526003602052604090205490565b6119f56122b0565b6119fe5f612323565b565b6060600180546106c290612f69565b611a1a338383612374565b5050565b611a266122b0565b5f8311611a815760405162461bcd60e51b815260206004820152602360248201527f546f74616c20737570706c79206d75737420626520677265617465722074686160448201526206e20360ec1b60648201526084016107db565b5f8211611adb5760405162461bcd60e51b815260206004820152602260248201527f476f6c6420737570706c79206d7573742062652067726561746572207468616e604482015261020360f41b60648201526084016107db565b5f8111611b385760405162461bcd60e51b815260206004820152602560248201527f4469616d6f6e6420737570706c79206d75737420626520677265617465722074604482015264068616e20360dc1b60648201526084016107db565b600b54831115611b8a5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420696e63726561736520746f74616c20737570706c790000000060448201526064016107db565b600c54821115611bdc5760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420696e63726561736520676f6c6420737570706c79000000000060448201526064016107db565b600d54811115611c2e5760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420696e637265617365206469616d6f6e6420737570706c79000060448201526064016107db565b600854831015611c8f5760405162461bcd60e51b815260206004820152602660248201527f43616e6e6f74206275726e2062656c6f772063757272656e7420746f74616c20604482015265737570706c7960d01b60648201526084016107db565b600f54821015611ce15760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206275726e2062656c6f7720676f6c64206d696e74656400000060448201526064016107db565b601054811015611d335760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206275726e2062656c6f77206469616d6f6e64206d696e74656460448201526064016107db565b82611d3e8284613002565b1115611d965760405162461bcd60e51b815260206004820152602160248201527f5469657220737570706c6965732065786365656420746f74616c20737570706c6044820152607960f81b60648201526084016107db565b600b839055600c829055600d81905560408051848152602081018490529081018290527faa72d35bd5f0575d5c3817df4dec71feb581500dc7a87715d2cf420f0e68e3c09060600160405180910390a1505050565b611df533836120c4565b611e115760405162461bcd60e51b81526004016107db90612fa1565b61102684848484612441565b5f818152600260205260409020546060906001600160a01b0316611e7a5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016107db565b600e611e8583612474565b604051602001611e969291906131ea565b6040516020818303038152906040529050919050565b5f5f5f611eb860085490565b600b54611ec59190613015565b9250600f54600c54611ed79190613015565b9150601054600d54611ee99190613015565b9050909192565b5f5f5f5f5f600f54600c54611f059190613015565b9450601054600d54611f179190613015565b9350601154610320611f299190613015565b92506012546101f4611f3b9190613015565b9150611f4660085490565b600b54611f539190613015565b90509091929394565b611f646122b0565b6001600160a01b038116611fc95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107db565b611fd281612323565b50565b5f6001600160e01b0319821663780e9d6360e01b14806106ae57506106ae82612504565b5f818152600260205260409020546001600160a01b0316611fd25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016107db565b5f81815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061208b826114c6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f5f6120cf836114c6565b9050806001600160a01b0316846001600160a01b0316148061211557506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b806121395750836001600160a01b031661212e84610743565b6001600160a01b0316145b949350505050565b826001600160a01b0316612154826114c6565b6001600160a01b03161461217a5760405162461bcd60e51b81526004016107db90613275565b6001600160a01b0382166121dc5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107db565b6121e98383836001612553565b826001600160a01b03166121fc826114c6565b6001600160a01b0316146122225760405162461bcd60e51b81526004016107db90613275565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600a546001600160a01b031633146119fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107db565b611a1a828260405180602001604052805f81525061255f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b816001600160a01b0316836001600160a01b0316036123d55760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107db565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61244c848484612141565b61245884848484612591565b6110265760405162461bcd60e51b81526004016107db906132ba565b60605f6124808361268e565b60010190505f8167ffffffffffffffff81111561249f5761249f612d33565b6040519080825280601f01601f1916602001820160405280156124c9576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846124d357509392505050565b5f6001600160e01b031982166380ac58cd60e01b148061253457506001600160e01b03198216635b5e139f60e01b145b806106ae57506301ffc9a760e01b6001600160e01b03198316146106ae565b61102684848484612765565b6125698383612891565b6125755f848484612591565b61087c5760405162461bcd60e51b81526004016107db906132ba565b5f6001600160a01b0384163b1561268357604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906125d490339089908890889060040161330c565b6020604051808303815f875af192505050801561260e575060408051601f3d908101601f1916820190925261260b91810190613348565b60015b612669573d80801561263b576040519150601f19603f3d011682016040523d82523d5f602084013e612640565b606091505b5080515f036126615760405162461bcd60e51b81526004016107db906132ba565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612139565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106126cc5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106126f8576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061271657662386f26fc10000830492506010015b6305f5e100831061272e576305f5e100830492506008015b612710831061274257612710830492506004015b60648310612754576064830492506002015b600a83106106ae5760010192915050565b60018111156127d45760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016107db565b816001600160a01b03851661282f5761282a81600880545f838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612852565b836001600160a01b0316856001600160a01b031614612852576128528582612a26565b6001600160a01b03841661286e5761286981612abf565b610d44565b846001600160a01b0316846001600160a01b031614610d4457610d448482612b66565b6001600160a01b0382166128e75760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107db565b5f818152600260205260409020546001600160a01b03161561294b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107db565b6129585f83836001612553565b5f818152600260205260409020546001600160a01b0316156129bc5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107db565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5f6001612a3284611969565b612a3c9190613015565b5f83815260076020526040902054909150808214612a8d576001600160a01b0384165f9081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b505f9182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008545f90612ad090600190613015565b5f8381526009602052604081205460088054939450909284908110612af757612af76130d7565b905f5260205f20015490508060088381548110612b1657612b166130d7565b5f918252602080832090910192909255828152600990915260408082208490558582528120556008805480612b4d57612b4d613363565b600190038181905f5260205f20015f9055905550505050565b5f612b7083611969565b6001600160a01b039093165f908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160e01b031981168114611fd2575f5ffd5b5f60208284031215612bcd575f5ffd5b8135612bd881612ba8565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f612bd86020830184612bdf565b5f60208284031215612c2f575f5ffd5b5035919050565b80356001600160a01b0381168114612c4c575f5ffd5b919050565b5f5f60408385031215612c62575f5ffd5b612c6b83612c36565b946020939093013593505050565b5f60208284031215612c89575f5ffd5b612bd882612c36565b5f5f5f60608486031215612ca4575f5ffd5b612cad84612c36565b9250612cbb60208501612c36565b929592945050506040919091013590565b5f5f5f60608486031215612cde575f5ffd5b612ce784612c36565b95602085013595506040909401359392505050565b803560028110612c4c575f5ffd5b5f5f5f60608486031215612d1c575f5ffd5b612d2584612c36565b9250612cbb60208501612cfc565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115612d6157612d61612d33565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715612d9057612d90612d33565b604052838152905080828401851015612da7575f5ffd5b838360208301375f60208583010152509392505050565b5f60208284031215612dce575f5ffd5b813567ffffffffffffffff811115612de4575f5ffd5b8201601f81018413612df4575f5ffd5b61213984823560208401612d47565b634e487b7160e01b5f52602160045260245ffd5b6020810160028310612e3757634e487b7160e01b5f52602160045260245ffd5b91905290565b5f60208284031215612e4d575f5ffd5b612bd882612cfc565b8015158114611fd2575f5ffd5b5f5f60408385031215612e74575f5ffd5b612e7d83612c36565b91506020830135612e8d81612e56565b809150509250929050565b5f5f5f60608486031215612eaa575f5ffd5b505081359360208301359350604090920135919050565b5f5f5f5f60808587031215612ed4575f5ffd5b612edd85612c36565b9350612eeb60208601612c36565b925060408501359150606085013567ffffffffffffffff811115612f0d575f5ffd5b8501601f81018713612f1d575f5ffd5b612f2c87823560208401612d47565b91505092959194509250565b5f5f60408385031215612f49575f5ffd5b612f5283612c36565b9150612f6060208401612c36565b90509250929050565b600181811c90821680612f7d57607f821691505b602082108103612f9b57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ae576106ae612fee565b818103818111156106ae576106ae612fee565b60208082526014908201527311dbdb19081c985b99d948195e1a185d5cdd195960621b604082015260600190565b60208082526017908201527f4469616d6f6e642072616e676520657868617573746564000000000000000000604082015260600190565b5f6001820161309e5761309e612fee565b5060010190565b5f602082840312156130b5575f5ffd5b5051919050565b5f602082840312156130cc575f5ffd5b8151612bd881612e56565b634e487b7160e01b5f52603260045260245ffd5b601f82111561087c57805f5260205f20601f840160051c810160208510156131105750805b601f840160051c820191505b81811015610d44575f815560010161311c565b815167ffffffffffffffff81111561314957613149612d33565b61315d816131578454612f69565b846130eb565b6020601f82116001811461318f575f83156131785750848201515b5f19600385901b1c1916600184901b178455610d44565b5f84815260208120601f198516915b828110156131be578785015182556020948501946001909201910161319e565b50848210156131db57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f5f84546131f781612f69565b60018216801561320e576001811461322357613250565b60ff1983168652811515820286019350613250565b875f5260205f205f5b838110156132485781548882015260019091019060200161322c565b505081860193505b50505083518060208601835e64173539b7b760d91b9101908152600501949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061333e90830184612bdf565b9695505050505050565b5f60208284031215613358575f5ffd5b8151612bd881612ba8565b634e487b7160e01b5f52603160045260245ffdfec667884a18575d8531ccee78b7d431d61554319f56798ab2794aed1b7473b320a264697066735822122046a9d63934ea487a02b72ba106e2c55779f07e72f7e96b9ba3c4bbff989c5eb864736f6c634300081e0033000000000000000000000000afb942e2a12ac0861ad81b5c37682f588912c1d900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000043697066733a2f2f626166796265696576367378616d636e76366f6470727869786e636e756564716b7a7432766676336d6c3576696c6b78656a337366796a6b6b36792f0000000000000000000000000000000000000000000000000000000000