0 txs
180 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
checkLastGift
viewfunction checkLastGift() view returns (bool)
employeeClaims
viewfunction employeeClaims(string, address) view returns (uint128 claimCount, uint128 firstClaimTimestamp)
employeeGiftInfo
viewfunction employeeGiftInfo(address) view returns (uint128 giftsLeft, uint128 lastGiftTimestamp)
fairxyzAddresses
viewfunction fairxyzAddresses(address) view returns (bool)
founderWallets
viewfunction founderWallets(address) view returns (bool)
giftIncreaseTime
viewfunction giftIncreaseTime() view returns (uint256)
giftingLimit
viewfunction giftingLimit() view returns (uint256)
giftsReceived
viewfunction giftsReceived(address) view returns (uint256)
giftTimeLimit
viewfunction giftTimeLimit() view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
lastGift
viewfunction lastGift(address, address) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
rewardClaimCount
viewfunction rewardClaimCount(string) view returns (uint256)
rewardRequirement
viewfunction rewardRequirement(string) view returns (uint64 requirement, uint64 perWalletLimit, uint64 walletLimitResetTime, uint64 globalMintLimit)
rewardTokenId
viewfunction rewardTokenId(string) view returns (uint256)
rewardTokenIDCount
viewfunction rewardTokenIDCount() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
timeLeftToGiftAgain
viewfunction timeLeftToGiftAgain(address sender, address recipient) view returns (uint256)
uri
viewfunction uri(uint256 tokenId) view returns (string)
viewGiftsRemaining
viewfunction viewGiftsRemaining(address employee) view returns (tuple info)
viewRewardsClaimed
viewfunction viewRewardsClaimed(address employee, string reward) view returns (tuple claim, uint256)
addFounderWallets
nonpayablefunction addFounderWallets(address[] newWallets)
addWallets
nonpayablefunction addWallets(address[] newWallets)
airdrop
nonpayablefunction airdrop(address recipient, uint256 amount)
airdropBrick
nonpayablefunction airdropBrick(address employeeAddress, uint256 amount)
claimReward
nonpayablefunction claimReward(string reward, uint256 expectedBurns)
createReward
nonpayablefunction createReward(string reward, tuple rewardParameters, string rewardUri)
editReward
nonpayablefunction editReward(string reward, tuple rewardParameters)
gift
nonpayablefunction gift(address recipient)
initialize
nonpayablefunction initialize(string _name)
removeFounderWallets
nonpayablefunction removeFounderWallets(address[] newWallets)
removeWallets
nonpayablefunction removeWallets(address[] newWallets)
renounceOwnership
nonpayablefunction renounceOwnership()
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setGiftingIncreaseTime
nonpayablefunction setGiftingIncreaseTime(uint256 newIncreaseTime)
setGiftingLimit
nonpayablefunction setGiftingLimit(uint256 newLimit)
setNewGiftingTimeLimit
nonpayablefunction setNewGiftingTimeLimit(uint256 newGiftTimeLimit)
setTokenURI
nonpayablefunction setTokenURI(uint256 tokenId, string newUri)
toggleGiftingTimeLimit
nonpayablefunction toggleGiftingTimeLimit()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
GiftGranted
event GiftGranted(address gifter, address recipient)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardClaimed
event RewardClaimed(address gifter, string gift)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
Upgraded
event Upgraded(address indexed implementation)
URI
event URI(string value, uint256 indexed id)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e8565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613e876200012060003960008181610d8701528181610dc701528181610ff30152818161103301526110ab0152613e876000f3fe60806040526004361061029d5760003560e01c8063715018a611610165578063b8945d12116100cc578063e985e9c511610085578063e985e9c514610957578063ec7f82f7146109a0578063f1b95bdd146109c0578063f242432a146109d7578063f2fde38b146109f7578063f62d188814610a17578063fdc5419814610a3757600080fd5b8063b8945d121461083f578063b9449fc11461089c578063cbfc4bce146108ca578063ceb84adf146108ea578063dde6041414610917578063e00e63471461093757600080fd5b806395d89b411161011e57806395d89b411461076c57806396dc528214610781578063a22cb465146107ba578063a6efae21146107da578063acdad006146107fa578063b14b86e41461082857600080fd5b8063715018a6146106a3578063849c7817146106b85780638ba4cc3c146106d35780638da5cb5b146106f3578063913070461461071b57806391e048781461073b57600080fd5b80632cfa1e68116102095780634e1273f4116101c25780634e1273f4146105ee5780634f1ef2861461061b57806352d1902d1461062e5780635be30312146106435780635f9b5a5514610663578063622b935f1461068357600080fd5b80632cfa1e68146104f55780632eb2c2d61461050c5780632fc335711461052c5780633659cfe61461058e5780634294e96a146105ae5780634ad9b1c3146105ce57600080fd5b8063107775431161025b578063107775431461038f578063162094c4146103c85780631a97d2a0146103e85780631c5621e71461040857806320159e831461042857806323ba71d0146104bc57600080fd5b8062fdd58e146102a257806301ffc9a7146102d557806306fdde031461030557806308cf7d15146103275780630966cb9f1461033e5780630e89341c1461036f575b600080fd5b3480156102ae57600080fd5b506102c26102bd366004613049565b610a4e565b6040519081526020015b60405180910390f35b3480156102e157600080fd5b506102f56102f0366004613089565b610ae9565b60405190151581526020016102cc565b34801561031157600080fd5b5061031a610b39565b6040516102cc91906130f6565b34801561033357600080fd5b5061033c610bc8565b005b34801561034a57600080fd5b506102f5610359366004613109565b61013d6020526000908152604090205460ff1681565b34801561037b57600080fd5b5061031a61038a366004613124565b610be5565b34801561039b57600080fd5b506102c26103aa3660046131f2565b805160208183018101805161013b8252928201919093012091525481565b3480156103d457600080fd5b5061033c6103e336600461322e565b610c88565b3480156103f457600080fd5b5061033c610403366004613124565b610cae565b34801561041457600080fd5b5061033c61042336600461330f565b610cbc565b34801561043457600080fd5b506104896104433660046131f2565b8051602081830181018051610131825292820191909301209152546001600160401b0380821691600160401b8104821691600160801b8204811691600160c01b90041684565b604080516001600160401b03958616815293851660208501529184169183019190915290911660608201526080016102cc565b3480156104c857600080fd5b506102c26104d7366004613343565b61013060209081526000928352604080842090915290825290205481565b34801561050157600080fd5b506102c26101375481565b34801561051857600080fd5b5061033c6105273660046133dc565b610d31565b34801561053857600080fd5b5061056e610547366004613109565b610139602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b039384168152929091166020830152016102cc565b34801561059a57600080fd5b5061033c6105a9366004613109565b610d7d565b3480156105ba57600080fd5b5061033c6105c9366004613485565b610e45565b3480156105da57600080fd5b5061033c6105e936600461330f565b610e4f565b3480156105fa57600080fd5b5061060e6106093660046134c9565b610ec0565b6040516102cc919061355d565b61033c610629366004613570565b610fe9565b34801561063a57600080fd5b506102c261109e565b34801561064f57600080fd5b5061033c61065e366004613049565b61114d565b34801561066f57600080fd5b5061033c61067e36600461330f565b6111ec565b34801561068f57600080fd5b5061033c61069e366004613124565b61125d565b3480156106af57600080fd5b5061033c61126b565b3480156106c457600080fd5b50610138546102f59060ff1681565b3480156106df57600080fd5b5061033c6106ee366004613049565b61127f565b3480156106ff57600080fd5b5060fb546040516001600160a01b0390911681526020016102cc565b34801561072757600080fd5b5061033c610736366004613124565b6112a3565b34801561074757600080fd5b506102f5610756366004613109565b61012f6020526000908152604090205460ff1681565b34801561077857600080fd5b5061031a6112b1565b34801561078d57600080fd5b506102c261079c3660046131f2565b80516020818301810180516101338252928201919093012091525481565b3480156107c657600080fd5b5061033c6107d53660046135a7565b6112bf565b3480156107e657600080fd5b5061033c6107f5366004613679565b6112ca565b34801561080657600080fd5b506102c2610815366004613109565b61013a6020526000908152604090205481565b34801561083457600080fd5b506102c26101365481565b34801561084b57600080fd5b5061056e61085a3660046136ed565b815160208184018101805161013c82529282019482019490942091909352909152600090815260409020546001600160801b0380821691600160801b90041682565b3480156108a857600080fd5b506108bc6108b7366004613570565b611435565b6040516102cc929190613731565b3480156108d657600080fd5b5061033c6108e5366004613109565b61158f565b3480156108f657600080fd5b5061090a610905366004613109565b611598565b6040516102cc9190613762565b34801561092357600080fd5b5061033c610932366004613786565b61179f565b34801561094357600080fd5b506102c2610952366004613343565b6118a1565b34801561096357600080fd5b506102f5610972366004613343565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205460ff1690565b3480156109ac57600080fd5b5061033c6109bb36600461330f565b6118b4565b3480156109cc57600080fd5b506102c26101345481565b3480156109e357600080fd5b5061033c6109f23660046137cb565b611925565b348015610a0357600080fd5b5061033c610a12366004613109565b61196a565b348015610a2357600080fd5b5061033c610a323660046131f2565b6119e0565b348015610a4357600080fd5b506102c26101355481565b60006001600160a01b038316610abe5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b50600081815260c9602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b1480610b1a57506001600160e01b031982166303a24d0760e21b145b80610ae357506301ffc9a760e01b6001600160e01b0319831614610ae3565b61012d8054610b479061382f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b739061382f565b8015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b505050505081565b610bd0611b27565b610138805460ff19811660ff90911615179055565b600081815261013260205260409020805460609190610c039061382f565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2f9061382f565b8015610c7c5780601f10610c5157610100808354040283529160200191610c7c565b820191906000526020600020905b815481529060010190602001808311610c5f57829003601f168201915b50505050509050919050565b610c90611b27565b600082815261013260205260409020610ca982826138af565b505050565b610cb6611b27565b61013555565b610cc4611b27565b60005b8151811015610d2d57600061013d6000848481518110610ce957610ce961396e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610d258161399a565b915050610cc7565b5050565b6001600160a01b038516331480610d4d5750610d4d8533610972565b610d695760405162461bcd60e51b8152600401610ab5906139b3565b610d768585858585611b81565b5050505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610dc55760405162461bcd60e51b8152600401610ab590613a01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610df7611d6f565b6001600160a01b031614610e1d5760405162461bcd60e51b8152600401610ab590613a4d565b610e2681611d8b565b60408051600080825260208201909252610e4291839190611d93565b50565b610d2d8282611efe565b610e57611b27565b60005b8151811015610d2d57600161012f6000848481518110610e7c57610e7c61396e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610eb88161399a565b915050610e5a565b60608151835114610f255760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610ab5565b600083516001600160401b03811115610f4057610f4061313d565b604051908082528060200260200182016040528015610f69578160200160208202803683370190505b50905060005b8451811015610fe157610fb4858281518110610f8d57610f8d61396e565b6020026020010151858381518110610fa757610fa761396e565b6020026020010151610a4e565b828281518110610fc657610fc661396e565b6020908102919091010152610fda8161399a565b9050610f6f565b509392505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110315760405162461bcd60e51b8152600401610ab590613a01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611063611d6f565b6001600160a01b0316146110895760405162461bcd60e51b8152600401610ab590613a4d565b61109282611d8b565b610d2d82826001611d93565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111395760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610ab5565b50600080516020613e0b8339815191525b90565b33600090815261013d602052604090205460ff166111ad5760405162461bcd60e51b815260206004820152601a60248201527f456d706c6f796565206973206e6f7420617574686f72697a65640000000000006044820152606401610ab5565b6111c9826001836040518060200160405280600081525061226a565b6001600160a01b03909116600090815261013a6020526040902080549091019055565b6111f4611b27565b60005b8151811015610d2d57600161013d60008484815181106112195761121961396e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806112558161399a565b9150506111f7565b611265611b27565b61013655565b611273611b27565b61127d600061238f565b565b611287611b27565b610d2d826001836040518060200160405280600081525061226a565b6112ab611b27565b61013755565b61012e8054610b479061382f565b610d2d3383836123e1565b6112d2611b27565b610133836040516112e39190613a99565b9081526020016040518091039020546000146113415760405162461bcd60e51b815260206004820152601a60248201527f546869732072657761726420616c7265616479206578697374730000000000006044820152606401610ab5565b81610131846040516113539190613a99565b90815260408051602092819003830190208351815493850151928501516060909501516001600160401b039182166001600160801b031990951694909417600160401b93821693909302929092176001600160801b0316600160801b948316949094026001600160c01b031693909317600160c01b9190921602179055610134546000036113e2576001610134555b61013480546001019081905560405161013390611400908690613a99565b9081526040805160209281900383019020929092556101345460009081526101329091522061142f82826138af565b50505050565b60408051808201909152600080825260208201526000806101318460405161145d9190613a99565b908152604080519182900360209081018320608084018352546001600160401b038082168552600160401b8204811692850192909252600160801b8104821684840152600160c01b90041660608301525190915061013c906114c0908690613a99565b90815260408051602092819003830181206001600160a01b038916600090815290845282812082840190935291546001600160801b038082168352600160801b90910416928101839052945003611521576001600160801b03421660208401525b4281604001516001600160401b0316846020015161153f9190613ab5565b6001600160801b03161015611562576001600160801b0342166020840152600083525b8261013b856040516115749190613a99565b90815260200160405180910390205492509250509250929050565b610e42816124c1565b60408051808201909152600080825260208201526001600160a01b038216600090815261012f602052604090205460ff1661160f5760405162461bcd60e51b815260206004820152601760248201527655736572206973206e6f7420616e20656d706c6f79656560481b6044820152606401610ab5565b6001600160a01b038216600090815261013d602052604090205460ff161561164e57505060408051808201909152633b9ac9ff81526000602082015290565b506001600160a01b0381166000908152610139602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810182905291036116b2576001600160801b03428116602083015261013554168152919050565b60008160200151426116c49190613adc565b905060005b61013654826001600160801b03161015801561170557508251610135546116f9916001600160801b031690613afc565b816001600160801b0316105b1561172257610136546117189083613adc565b91506001016116c9565b6001600160801b038116156117675761173b8242613adc565b6001600160801b0316602084015282518190849061175a908390613ab5565b6001600160801b03169052505b825161013554611780916001600160801b031690613afc565b600003611797576001600160801b03421660208401525b50505b919050565b6117a7611b27565b6000610133836040516117ba9190613a99565b9081526020016040518091039020541161180e5760405162461bcd60e51b815260206004820152601560248201527452657761726420646f65736e27742065786973742160581b6044820152606401610ab5565b80610131836040516118209190613a99565b90815260408051602092819003830190208351815493850151928501516060909501516001600160401b039182166001600160801b031990951694909417600160401b93821693909302929092176001600160801b0316600160801b948316949094026001600160c01b031693909317600160c01b91909216021790555050565b60006118ad838361278e565b9392505050565b6118bc611b27565b60005b8151811015610d2d57600061012f60008484815181106118e1576118e161396e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061191d8161399a565b9150506118bf565b6001600160a01b03851633148061194157506119418533610972565b61195d5760405162461bcd60e51b8152600401610ab5906139b3565b610d76858585858561281c565b611972611b27565b6001600160a01b0381166119d75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ab5565b610e428161238f565b600054610100900460ff1615808015611a005750600054600160ff909116105b80611a1a5750303b158015611a1a575060005460ff166001145b611a7d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610ab5565b6000805460ff191660011790558015611aa0576000805461ff0019166101001790555b611ab860405180602001604052806000815250612958565b611ac13361238f565b61012d611ace83826138af565b5061012e611adc83826138af565b508015610d2d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60fb546001600160a01b0316331461127d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ab5565b8151835114611be35760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610ab5565b6001600160a01b038416611c095760405162461bcd60e51b8152600401610ab590613b0f565b33611c18818787878787612988565b60005b8451811015611d01576000858281518110611c3857611c3861396e565b602002602001015190506000858381518110611c5657611c5661396e565b602090810291909101810151600084815260c9835260408082206001600160a01b038e168352909352919091205490915081811015611ca75760405162461bcd60e51b8152600401610ab590613b54565b600083815260c9602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611ce6908490613b9e565b9250508190555050505080611cfa9061399a565b9050611c1b565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611d51929190613bb1565b60405180910390a4611d678187878787876129e8565b505050505050565b600080516020613e0b833981519152546001600160a01b031690565b610e42611b27565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611dc657610ca983612b43565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611e20575060408051601f3d908101601f19168201909252611e1d91810190613bd6565b60015b611e835760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610ab5565b600080516020613e0b8339815191528114611ef25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610ab5565b50610ca9838383612bdf565b600061013183604051611f119190613a99565b908152604080519182900360209081018320608084018352546001600160401b038082168552600160401b8204811692850192909252600160801b8104821692840192909252600160c01b909104166060820152905081611f7157600080fd5b80516001600160401b03168214611fca5760405162461bcd60e51b815260206004820181905260248201527f446f6573206e6f74206d61746368206275726e20726571756972656d656e74736044820152606401610ab5565b6000611fd7336001610a4e565b9050828110156120345760405162461bcd60e51b815260206004820152602260248201527f596f7520646f206e6f7420686176652073756666696369656e742062616c616e604482015261636560f01b6064820152608401610ab5565b6000806120413387611435565b602086015191935091506001600160401b0316156120cd5783602001516001600160401b031682600001516001600160801b0316106120cd5760405162461bcd60e51b815260206004820152602260248201527f596f75206861766520657863656564656420796f757220636c61696d206c696d6044820152611a5d60f21b6064820152608401610ab5565b60608401516001600160401b0316156121565783606001516001600160401b031661013b876040516120ff9190613a99565b908152602001604051809103902054106121565760405162461bcd60e51b8152602060048201526018602482015277151a195c9948185c99481b9bc818db185a5b5cc81b19599d60421b6044820152606401610ab5565b81516001600160801b036001918201168352604051910190819061013b9061217f908990613a99565b9081526020016040518091039020819055508161013c876040516121a39190613a99565b90815260408051918290036020908101909220336000818152918452919020835193909201516001600160801b03908116600160801b0293169290921790556121ee90600187612c04565b61222933610133886040516122039190613a99565b90815260200160405180910390205460016040518060200160405280600081525061226a565b7f6734e108c2a3c91ae94a70d29d61db4cc7cf091f37f75e234f1002481b5d8059338760405161225a929190613bef565b60405180910390a1505050505050565b6001600160a01b0384166122ca5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610ab5565b3360006122d685612d98565b905060006122e385612d98565b90506122f483600089858589612988565b600086815260c9602090815260408083206001600160a01b038b16845290915281208054879290612326908490613b9e565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461238683600089898989612de3565b50505050505050565b60fb80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036124545760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610ab5565b6001600160a01b03838116600081815260ca6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60006124cc33611598565b9050336001600160a01b038316036125215760405162461bcd60e51b81526020600482015260186024820152772cb7ba9031b0b73737ba1033b4b33a103cb7bab939b2b63360411b6044820152606401610ab5565b80516001600160801b031661258b5760405162461bcd60e51b815260206004820152602a60248201527f53656e64657220646f6573206e6f74206861766520616e79204e465473206c65604482015269199d081d1bc819da599d60b21b6064820152608401610ab5565b6001600160a01b038216600090815261012f602052604090205460ff166125fe5760405162461bcd60e51b815260206004820152602160248201527f526563697069656e74206973206e6f742070617274206f6620466169722e78796044820152603d60f91b6064820152608401610ab5565b6101385460ff168015612622575033600090815261013d602052604090205460ff16155b156126bf5761013754336000908152610130602090815260408083206001600160a01b0387168452909152902054429161265b91613b9e565b106126bf5760405162461bcd60e51b815260206004820152602e60248201527f506c656173652077616974206265747765656e20676966747320746f2074686560448201526d2073616d6520656d706c6f79656560901b6064820152608401610ab5565b336000818152610130602090815260408083206001600160a01b0387168452825280832042905584516001600160801b036000199091018116865293835261013982528083208551868401518616600160801b0295169490941790935582519081019092528152612736908390600190819061226a565b6001600160a01b038216600081815261013a6020908152604091829020805460010190558151338152908101929092527fc1c0db172d644ee076c1099aaa2eac78c23945c44bf036d279ec59ab5c58bd589101611b1b565b610137546001600160a01b0380841660009081526101306020908152604080832093861683529290529081205490916127c691613b9e565b42101561281457610137546001600160a01b0380851660009081526101306020908152604080832093871683529290522054429161280391613b9e565b61280d9190613afc565b9050610ae3565b506000610ae3565b6001600160a01b0384166128425760405162461bcd60e51b8152600401610ab590613b0f565b33600061284e85612d98565b9050600061285b85612d98565b905061286b838989858589612988565b600086815260c9602090815260408083206001600160a01b038c168452909152902054858110156128ae5760405162461bcd60e51b8152600401610ab590613b54565b600087815260c9602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906128ed908490613b9e565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461294d848a8a8a8a8a612de3565b505050505050505050565b600054610100900460ff1661297f5760405162461bcd60e51b8152600401610ab590613c13565b610e4281612e9e565b6001600160a01b03851615806129a557506001600160a01b038416155b611d675760405162461bcd60e51b8152602060048201526014602482015273151bdad95b9cc8185c99481cdbdd5b189bdd5b9960621b6044820152606401610ab5565b6001600160a01b0384163b15611d675760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612a2c9089908990889088908890600401613c5e565b6020604051808303816000875af1925050508015612a67575060408051601f3d908101601f19168201909252612a6491810190613cbc565b60015b612b1357612a73613cd9565b806308c379a003612aac5750612a87613cf4565b80612a925750612aae565b8060405162461bcd60e51b8152600401610ab591906130f6565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610ab5565b6001600160e01b0319811663bc197c8160e01b146123865760405162461bcd60e51b8152600401610ab590613d7d565b6001600160a01b0381163b612bb05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610ab5565b600080516020613e0b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612be883612ece565b600082511180612bf55750805b15610ca95761142f8383612f0e565b6001600160a01b038316612c665760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610ab5565b336000612c7284612d98565b90506000612c7f84612d98565b9050612c9f83876000858560405180602001604052806000815250612988565b600085815260c9602090815260408083206001600160a01b038a16845290915290205484811015612d1e5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610ab5565b600086815260c9602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612386565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612dd257612dd261396e565b602090810291909101015292915050565b6001600160a01b0384163b15611d675760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612e279089908990889088908890600401613dc5565b6020604051808303816000875af1925050508015612e62575060408051601f3d908101601f19168201909252612e5f91810190613cbc565b60015b612e6e57612a73613cd9565b6001600160e01b0319811663f23a6e6160e01b146123865760405162461bcd60e51b8152600401610ab590613d7d565b600054610100900460ff16612ec55760405162461bcd60e51b8152600401610ab590613c13565b610e4281613002565b612ed781612b43565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612f765760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610ab5565b600080846001600160a01b031684604051612f919190613a99565b600060405180830381855af49150503d8060008114612fcc576040519150601f19603f3d011682016040523d82523d6000602084013e612fd1565b606091505b5091509150612ff98282604051806060016040528060278152602001613e2b6027913961300e565b95945050505050565b60cb610d2d82826138af565b6060831561301d5750816118ad565b6118ad8383815115612a925781518083602001fd5b80356001600160a01b038116811461179a57600080fd5b6000806040838503121561305c57600080fd5b61306583613032565b946020939093013593505050565b6001600160e01b031981168114610e4257600080fd5b60006020828403121561309b57600080fd5b81356118ad81613073565b60005b838110156130c15781810151838201526020016130a9565b50506000910152565b600081518084526130e28160208601602086016130a6565b601f01601f19169290920160200192915050565b6020815260006118ad60208301846130ca565b60006020828403121561311b57600080fd5b6118ad82613032565b60006020828403121561313657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156131785761317861313d565b6040525050565b600082601f83011261319057600080fd5b81356001600160401b038111156131a9576131a961313d565b6040516131c0601f8301601f191660200182613153565b8181528460208386010111156131d557600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561320457600080fd5b81356001600160401b0381111561321a57600080fd5b6132268482850161317f565b949350505050565b6000806040838503121561324157600080fd5b8235915060208301356001600160401b0381111561325e57600080fd5b61326a8582860161317f565b9150509250929050565b60006001600160401b0382111561328d5761328d61313d565b5060051b60200190565b600082601f8301126132a857600080fd5b813560206132b582613274565b6040516132c28282613153565b83815260059390931b85018201928281019150868411156132e257600080fd5b8286015b84811015613304576132f781613032565b83529183019183016132e6565b509695505050505050565b60006020828403121561332157600080fd5b81356001600160401b0381111561333757600080fd5b61322684828501613297565b6000806040838503121561335657600080fd5b61335f83613032565b915061336d60208401613032565b90509250929050565b600082601f83011261338757600080fd5b8135602061339482613274565b6040516133a18282613153565b83815260059390931b85018201928281019150868411156133c157600080fd5b8286015b8481101561330457803583529183019183016133c5565b600080600080600060a086880312156133f457600080fd5b6133fd86613032565b945061340b60208701613032565b935060408601356001600160401b038082111561342757600080fd5b61343389838a01613376565b9450606088013591508082111561344957600080fd5b61345589838a01613376565b9350608088013591508082111561346b57600080fd5b506134788882890161317f565b9150509295509295909350565b6000806040838503121561349857600080fd5b82356001600160401b038111156134ae57600080fd5b6134ba8582860161317f565b95602094909401359450505050565b600080604083850312156134dc57600080fd5b82356001600160401b03808211156134f357600080fd5b6134ff86838701613297565b9350602085013591508082111561351557600080fd5b5061326a85828601613376565b600081518084526020808501945080840160005b8381101561355257815187529582019590820190600101613536565b509495945050505050565b6020815260006118ad6020830184613522565b6000806040838503121561358357600080fd5b61358c83613032565b915060208301356001600160401b0381111561325e57600080fd5b600080604083850312156135ba57600080fd5b6135c383613032565b9150602083013580151581146135d857600080fd5b809150509250929050565b80356001600160401b038116811461179a57600080fd5b60006080828403121561360c57600080fd5b604051608081018181106001600160401b038211171561362e5761362e61313d565b60405290508061363d836135e3565b815261364b602084016135e3565b602082015261365c604084016135e3565b604082015261366d606084016135e3565b60608201525092915050565b600080600060c0848603121561368e57600080fd5b83356001600160401b03808211156136a557600080fd5b6136b18783880161317f565b94506136c087602088016135fa565b935060a08601359150808211156136d657600080fd5b506136e38682870161317f565b9150509250925092565b6000806040838503121561370057600080fd5b82356001600160401b0381111561371657600080fd5b6137228582860161317f565b92505061336d60208401613032565b60608101613755828580516001600160801b03908116835260209182015116910152565b8260408301529392505050565b60408101610ae3828480516001600160801b03908116835260209182015116910152565b60008060a0838503121561379957600080fd5b82356001600160401b038111156137af57600080fd5b6137bb8582860161317f565b92505061336d84602085016135fa565b600080600080600060a086880312156137e357600080fd5b6137ec86613032565b94506137fa60208701613032565b9350604086013592506060860135915060808601356001600160401b0381111561382357600080fd5b6134788882890161317f565b600181811c9082168061384357607f821691505b60208210810361386357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610ca957600081815260208120601f850160051c810160208610156138905750805b601f850160051c820191505b81811015611d675782815560010161389c565b81516001600160401b038111156138c8576138c861313d565b6138dc816138d6845461382f565b84613869565b602080601f83116001811461391157600084156138f95750858301515b600019600386901b1c1916600185901b178555611d67565b600085815260208120601f198616915b8281101561394057888601518255948401946001909101908401613921565b508582101561395e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016139ac576139ac613984565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60008251613aab8184602087016130a6565b9190910192915050565b6001600160801b03818116838216019080821115613ad557613ad5613984565b5092915050565b6001600160801b03828116828216039080821115613ad557613ad5613984565b81810381811115610ae357610ae3613984565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b80820180821115610ae357610ae3613984565b604081526000613bc46040830185613522565b8281036020840152612ff98185613522565b600060208284031215613be857600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090613226908301846130ca565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b0386811682528516602082015260a060408201819052600090613c8a90830186613522565b8281036060840152613c9c8186613522565b90508281036080840152613cb081856130ca565b98975050505050505050565b600060208284031215613cce57600080fd5b81516118ad81613073565b600060033d111561114a5760046000803e5060005160e01c90565b600060443d1015613d025790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613d3157505050505090565b8285019150815181811115613d495750505050505090565b843d8701016020828501011115613d635750505050505090565b613d7260208286010187613153565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613dff908301846130ca565b97965050505050505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122046744b1b58e4aae6dba7f6c4a39f1d4d758bb918456f769ec95e1fa1227643eb64736f6c63430008110033