39 txs
149 calls
constructor
constructor()
functions
activePhase
viewfunction activePhase() view returns (string)
airdropMaticPerSassy
viewfunction airdropMaticPerSassy() view returns (uint256)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
explicitOwnershipOf
viewfunction explicitOwnershipOf(uint256 tokenId) view returns (tuple)
explicitOwnershipsOf
viewfunction explicitOwnershipsOf(uint256[] tokenIds) view returns (tuple[])
getAddressMintedQtyInPhase
viewfunction getAddressMintedQtyInPhase(address addr, string phase) view returns (uint256 mintedQty)
getAddressRemainingMintEligibilityForPhase
viewfunction getAddressRemainingMintEligibilityForPhase(address addr, string phase) view returns (uint256 mintQtyAllowed)
getAddressTotalMintEligibilityForPhase
viewfunction getAddressTotalMintEligibilityForPhase(address addr, string phase) view returns (uint256 mintQtyAllowed)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getRemainingMintable
viewfunction getRemainingMintable() view returns (uint256 remainingMintable)
getTotalMinted
viewfunction getTotalMinted() view returns (uint256 totalMinted)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MAX_MINTING_SUPPLY
viewfunction MAX_MINTING_SUPPLY() view returns (uint256)
name
viewfunction name() view returns (string)
operatorFilteringEnabled
viewfunction operatorFilteringEnabled() view returns (bool)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
phaseConfigs
viewfunction phaseConfigs(string) view returns (uint256 mintPrice, address mintToken, uint256 maxPerMintTx, uint256 phaseEndTime, uint256 phaseStartTime, bool isPublicPhase)
preferredOperatorAddress
viewfunction preferredOperatorAddress() view returns (address)
royaltyInfo
viewfunction royaltyInfo(uint256 tokenId, uint256 salePrice) view returns (address, uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokensOfOwner
viewfunction tokensOfOwner(address owner) view returns (uint256[])
tokensOfOwnerIn
viewfunction tokensOfOwnerIn(address owner, uint256 start, uint256 stop) view returns (uint256[])
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uriOfImage
viewfunction uriOfImage() view returns (string)
addPhase
nonpayablefunction addPhase(string phaseName, address[] addresses, uint256[] mintQtyAllowed, uint256 mintPrice, address mintToken, uint256 phaseEndTime, uint256 phaseStartTime, bool isPublicPhase) returns (string newPhaseName)
airdrop
nonpayablefunction airdrop(address[] addresses, uint256[] quantity)
approve
payablefunction approve(address operator, uint256 tokenId) payable
burn
nonpayablefunction burn(uint256 tokenId)
crossChain
nonpayablefunction crossChain(address to, uint256 quantity, string mainnetTransactionHash)
mint
nonpayablefunction mint(uint256 quantity)
pause
nonpayablefunction pause()
registerForOperatorFiltering
nonpayablefunction registerForOperatorFiltering(address subscriptionAddress, bool subscribe)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) payable
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId) payable
setActivePhase
nonpayablefunction setActivePhase(string phaseName) returns (string ActivePhaseName)
setAirdropMaticPerSassy
nonpayablefunction setAirdropMaticPerSassy(uint256 newAmount)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setDefaultRoyalty
nonpayablefunction setDefaultRoyalty(address receiver, uint96 feeNumerator)
setImageURI
nonpayablefunction setImageURI(string newURI)
setOperatorFilteringEnabled
nonpayablefunction setOperatorFilteringEnabled(bool value)
transferFrom
payablefunction transferFrom(address from, address to, uint256 tokenId) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw()
withdrawToken
nonpayablefunction withdrawToken(address tokenContractAddress)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ConsecutiveTransfer
event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed from, address indexed to)
CrossChainMint
event CrossChainMint(address indexed to, uint256 indexed quantity, string indexed transactionHash)
Mint
event Mint(address indexed to, uint256 indexed quantity)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PhaseChange
event PhaseChange(string indexed previousePhase, string indexed newPhase)
Received
event Received(address indexed sender, uint256 value)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unpaused
event Unpaused(address account)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
InvalidQueryRange
error InvalidQueryRange()
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
creation bytecode
0x612710600c5560c060405260076080819052661253925512505360ca1b60a09081526200003091600e9190620002bb565b506040805160208101918290526000908190526200005191600f91620002bb565b5060006010553480156200006457600080fd5b50604080518082018252601681527f536872656464696e6720536173737920436865737473000000000000000000006020808301918252835180850190945260068452651350d21154d560d21b908401528151919291620000c891600291620002bb565b508051620000de906003906020840190620002bb565b506000805550506008805460ff19169055620000fa336200012a565b60016009556200010962000184565b6011805460ff1916600117905562000124336102ee620001a7565b62000439565b600880546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620001a5733cc6cdda760b79bafa08df41ecfa224f810dceb6600162000240565b565b6127106001600160601b0382161115620001de5760405162461bcd60e51b8152600401620001d59062000361565b60405180910390fd5b6001600160a01b038216620002075760405162461bcd60e51b8152600401620001d590620003b6565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600a55565b6001600160a01b0390911690637d3e3dbe81620002705782620002695750634420e48662000270565b5063a0af29035b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af1620002b1578060005160e01c1415620002b157600080fd5b6000602452505050565b828054620002c99062000408565b90600052602060002090601f016020900481019282620002ed576000855562000338565b82601f106200030857805160ff191683800117855562000338565b8280016001018555821562000338579182015b82811115620003385782518255916020019190600101906200031b565b50620003469291506200034a565b5090565b5b808211156200034657600081556001016200034b565b60208082528101620003b081602a81527f455243323938313a20726f79616c7479206665652077696c6c206578636565646020820152692073616c65507269636560b01b604082015260600190565b92915050565b60208082528101620003b081601981527f455243323938313a20696e76616c696420726563656976657200000000000000602082015260400190565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200041d57607f821691505b60208210811415620004335762000433620003f2565b50919050565b61416d80620004496000396000f3fe60806040526004361061032d5760003560e01c80635c975abb116101a557806395d89b41116100ec578063c23dc68f11610095578063e985e9c51161006f578063e985e9c51461094a578063f2fde38b14610993578063f913576b146109b3578063fb796e6c146109d357600080fd5b8063c23dc68f146108dd578063c87b56dd1461090a578063db0bcce91461092a57600080fd5b8063a22cb465116100c6578063a22cb4651461088a578063b7c0b8e8146108aa578063b88d4fde146108ca57600080fd5b806395d89b411461083557806399a2557a1461084a578063a0712d681461086a57600080fd5b8063740d5f5e1161014e578063894760691161012857806389476069146107dd5780638da5cb5b146107fd5780639452ca3f1461082057600080fd5b8063740d5f5e1461077b5780638456cb591461079b5780638462151c146107b057600080fd5b80636f97e31c1161017f5780636f97e31c1461073157806370a0823114610746578063715018a61461076657600080fd5b80635c975abb146106d95780636352211e146106f1578063672434821461071157600080fd5b80632a55205a116102745780633f4ba83a1161021d57806342966c68116101f757806342966c68146105ef57806346d8efad1461060f57806359531a9a1461062f5780635bbb2177146106ac57600080fd5b80633f4ba83a146105b15780633f884392146105c657806342842e0e146105dc57600080fd5b80633ccfd60b1161024e5780633ccfd60b146105575780633dc05dcc1461056c5780633eae0b0a1461058c57600080fd5b80632a55205a146104f3578063348f8bbd1461052157806335041d451461053757600080fd5b80630ca1c5c9116102d65780631dae3ffb116102b05780631dae3ffb146104a057806323b872dd146104c05780632a3dbf0d146104d357600080fd5b80630ca1c5c9146104545780630e1b26c61461047257806318160ddd1461048757600080fd5b806306fdde031161030757806306fdde03146103f2578063081812fc14610414578063095ea7b31461044157600080fd5b806301ffc9a71461037a57806304634d8d146103b057806304787ca2146103d257600080fd5b3661037557336001600160a01b03167f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258743460405161036b9190612cdd565b60405180910390a2005b600080fd5b34801561038657600080fd5b5061039a610395366004612d0d565b6109ed565b6040516103a79190612d36565b60405180910390f35b3480156103bc57600080fd5b506103d06103cb366004612d88565b610a0d565b005b3480156103de57600080fd5b506103d06103ed366004612e10565b610a23565b3480156103fe57600080fd5b50610407610a3c565b6040516103a79190612eb6565b34801561042057600080fd5b5061043461042f366004612ed8565b610ace565b6040516103a79190612f02565b6103d061044f366004612f10565b610b2b565b34801561046057600080fd5b506000545b6040516103a79190612cdd565b34801561047e57600080fd5b50610407610b4f565b34801561049357600080fd5b5060015460005403610465565b3480156104ac57600080fd5b506104656104bb366004612f43565b610bdd565b6103d06104ce366004612f9f565b610c30565b3480156104df57600080fd5b506104656104ee366004612f43565b610c66565b3480156104ff57600080fd5b5061051361050e366004612fef565b610caa565b6040516103a7929190613011565b34801561052d57600080fd5b5061046560105481565b34801561054357600080fd5b50610465610552366004612f43565b610d67565b34801561056357600080fd5b506103d0610df9565b34801561057857600080fd5b50610407610587366004612e10565b610e44565b34801561059857600080fd5b506011546104349061010090046001600160a01b031681565b3480156105bd57600080fd5b506103d0610eee565b3480156105d257600080fd5b50610465600c5481565b6103d06105ea366004612f9f565b610f00565b3480156105fb57600080fd5b506103d061060a366004612ed8565b610f1b565b34801561061b57600080fd5b506103d061062a36600461303f565b610f26565b34801561063b57600080fd5b5061069a61064a36600461316d565b8051602081830181018051600d8252928201919093012091526002810154600382015460048301546005840154600685015460079095015493946001600160a01b03909316939192909160ff1686565b6040516103a7969594939291906131a8565b3480156106b857600080fd5b506106cc6106c7366004613242565b610f38565b6040516103a79190613340565b3480156106e557600080fd5b5060085460ff1661039a565b3480156106fd57600080fd5b5061043461070c366004612ed8565b611004565b34801561071d57600080fd5b506103d061072c366004613351565b61100f565b34801561073d57600080fd5b506104656111f8565b34801561075257600080fd5b506104656107613660046133ca565b611209565b34801561077257600080fd5b506103d0611271565b34801561078757600080fd5b506103d06107963660046133eb565b611283565b3480156107a757600080fd5b506103d06112e8565b3480156107bc57600080fd5b506107d06107cb3660046133ca565b6112f8565b6040516103a7919061349f565b3480156107e957600080fd5b506103d06107f83660046133ca565b611400565b34801561080957600080fd5b5060085461010090046001600160a01b0316610434565b34801561082c57600080fd5b506104076114b6565b34801561084157600080fd5b506104076114c3565b34801561085657600080fd5b506107d06108653660046134b0565b6114d2565b34801561087657600080fd5b506103d0610885366004612ed8565b611667565b34801561089657600080fd5b506103d06108a536600461303f565b6116fb565b3480156108b657600080fd5b506103d06108c53660046134e5565b61171a565b6103d06108d8366004613506565b611735565b3480156108e957600080fd5b506108fd6108f8366004612ed8565b611779565b6040516103a79190613585565b34801561091657600080fd5b50610407610925366004612ed8565b6117f1565b34801561093657600080fd5b506103d0610945366004612ed8565b61186f565b34801561095657600080fd5b5061039a610965366004613593565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561099f57600080fd5b506103d06109ae3660046133ca565b61187c565b3480156109bf57600080fd5b506104076109ce3660046135c6565b6118b3565b3480156109df57600080fd5b5060115461039a9060ff1681565b60006109f882611a1b565b80610a075750610a0782611a9b565b92915050565b610a15611ae9565b610a1f8282611b19565b5050565b610a2b611ae9565b610a37600f8383612c3c565b505050565b606060028054610a4b906136ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610a77906136ed565b8015610ac45780601f10610a9957610100808354040283529160200191610ac4565b820191906000526020600020905b815481529060010190602001808311610aa757829003601f168201915b5050505050905090565b6000610ad982611bad565b610b0f576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b8160115460ff1615610b4057610b4081611bd4565b610a378383611c18565b905090565b600e8054610b5c906136ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610b88906136ed565b8015610bd55780601f10610baa57610100808354040283529160200191610bd5565b820191906000526020600020905b815481529060010190602001808311610bb857829003601f168201915b505050505081565b6000600d8383604051610bf192919061372d565b90815260200160405180910390206001016000856001600160a01b03166001600160a01b031681526020019081526020016000205490505b9392505050565b826001600160a01b0381163314610c555760115460ff1615610c5557610c5533611bd4565b610c60848484611cde565b50505050565b6000600d8383604051610c7a92919061372d565b908152604080519182900360209081019092206001600160a01b0387166000908152925290205490509392505050565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff16928201929092528291610d29575060408051808201909152600a546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b602081015160009061271090610d4d906bffffffffffffffffffffffff1687613750565b610d579190613785565b91519350909150505b9250929050565b6000600d8383604051610d7b92919061372d565b90815260200160405180910390206001016000856001600160a01b03166001600160a01b0316815260200190815260200160002054600d8484604051610dc292919061372d565b90815260408051602092819003830190206001600160a01b03881660009081529252902054610df19190613799565b949350505050565b610e01611ae9565b6008546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f19350505050158015610e41573d6000803e3d6000fd5b50565b6060610e4e611ae9565b610e5a600e8484612c3c565b50600e8054610e68906136ed565b80601f0160208091040260200160405190810160405280929190818152602001828054610e94906136ed565b8015610ee15780601f10610eb657610100808354040283529160200191610ee1565b820191906000526020600020905b815481529060010190602001808311610ec457829003601f168201915b5050505050905092915050565b610ef6611ae9565b610efe611eb9565b565b610a3783838360405180602001604052806000815250611735565b610e41816001611f05565b610f2e611ae9565b610a1f828261206f565b60608160008167ffffffffffffffff811115610f5657610f56613072565b604051908082528060200260200182016040528015610fa857816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610f745790505b50905060005b828114610ffb57610fd6868683818110610fca57610fca6137b0565b90506020020135611779565b828281518110610fe857610fe86137b0565b6020908102919091010152600101610fae565b50949350505050565b6000610a07826120e5565b611017611ae9565b82811461103f5760405162461bcd60e51b815260040161103690613823565b60405180910390fd5b60005b838110156111f157600c5483838381811061105f5761105f6137b0565b9050602002013561106f60005490565b6110799190613833565b11156110975760405162461bcd60e51b815260040161103690613882565b6110df8585838181106110ac576110ac6137b0565b90506020020160208101906110c191906133ca565b8484848181106110d3576110d36137b0565b9050602002013561215f565b6010541561116a578484828181106110f9576110f96137b0565b905060200201602081019061110e91906133ca565b6001600160a01b03166108fc84848481811061112c5761112c6137b0565b905060200201356010546111409190613750565b6040518115909202916000818181858888f19350505050158015611168573d6000803e3d6000fd5b505b82828281811061117c5761117c6137b0565b90506020020135858583818110611195576111956137b0565b90506020020160208101906111aa91906133ca565b6001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688560405160405180910390a3806111e981613892565b915050611042565b5050505050565b60008054600c54610b4a9190613799565b60006001600160a01b03821661124b576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b611279611ae9565b610efe6000612296565b61128b611ae9565b6112958484612307565b81816040516112a592919061372d565b6040519081900381209084906001600160a01b038716907f9848dbb3eb49259c4f224c25c7a5fe65ab5a10612eb75a317286030d432d067b90600090a450505050565b6112f0611ae9565b610efe6125c4565b6060600080600061130885611209565b905060008167ffffffffffffffff81111561132557611325613072565b60405190808252806020026020018201604052801561134e578160200160208202803683370190505b5060408051608081018252600080825260208201819052918101829052606081018290529192505b8386146113f45761138681612601565b9150816040015115611397576113ec565b81516001600160a01b0316156113ac57815194505b876001600160a01b0316856001600160a01b031614156113ec57808387806001019850815181106113df576113df6137b0565b6020026020010181815250505b600101611376565b50909695505050505050565b611408611ae9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081528190610a1f9033906001600160a01b038416906370a0823190611455903090600401612f02565b60206040518083038186803b15801561146d57600080fd5b505afa158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a591906138b8565b6001600160a01b0384169190612680565b600f8054610b5c906136ed565b606060038054610a4b906136ed565b606081831061150d576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061151960005490565b905080841115611527578093505b600061153287611209565b905084861015611551578585038181101561154b578091505b50611555565b5060005b60008167ffffffffffffffff81111561157057611570613072565b604051908082528060200260200182016040528015611599578160200160208202803683370190505b509050816115ac579350610c2992505050565b60006115b788611779565b9050600081604001516115c8575080515b885b8881141580156115da5750848714155b15611656576115e881612601565b92508260400151156115f95761164e565b82516001600160a01b03161561160e57825191505b8a6001600160a01b0316826001600160a01b0316141561164e5780848880600101995081518110611641576116416137b0565b6020026020010181815250505b6001016115ca565b505050928352509095945050505050565b61166f6126eb565b6000600d600e6040516116829190613947565b908152604051908190036020018120600301546001600160a01b031691506116e69033903090600d906116b790600e90613947565b908152602001604051809103902060020154856116d49190613750565b6001600160a01b038516929190612715565b6116f03383612307565b50610e416001600955565b8160115460ff16156117105761171081611bd4565b610a378383612736565b611722611ae9565b6011805460ff1916911515919091179055565b611740848484610c30565b6001600160a01b0383163b15610c605761175c848484846127a5565b610c60576040516368d2bf6b60e11b815260040160405180910390fd5b60408051608080820183526000808352602080840182905283850182905260608085018390528551938401865282845290830182905293820181905292810183905290915060005483106117cd5792915050565b6117d683612601565b90508060400151156117e85792915050565b610c298361289c565b60606117fc82611bad565b6118185760405162461bcd60e51b815260040161103690613987565b6000600f8060405160200161182e9291906139eb565b604051602081830303815290604052905061184881612914565b6040516020016118589190613b35565b604051602081830303815290604052915050919050565b611877611ae9565b601055565b611884611ae9565b6001600160a01b0381166118aa5760405162461bcd60e51b815260040161103690613bc1565b610e4181612296565b60606118bd611ae9565b8887146118dc5760405162461bcd60e51b815260040161103690613c2b565b6000600d8d8d6040516118f092919061372d565b9081526020016040518091039020905060005b8a81101561197d5789898281811061191d5761191d6137b0565b905060200201358260000160008e8e8581811061193c5761193c6137b0565b905060200201602081019061195191906133ca565b6001600160a01b031681526020810191909152604001600020558061197581613892565b915050611903565b506002810187905560038101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038816179055601e6004820155600581018590556006810184905560078101805460ff1916841515179055604080516020601f8f018190048102820181019092528d8152908e908e9081908401838280828437600092019190915250929450505050509b9a5050505050505050505050565b60006301ffc9a760e01b6001600160e01b031983161480611a6557507f80ac58cd000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b80610a075750506001600160e01b0319167f5b5e139f000000000000000000000000000000000000000000000000000000001490565b60006001600160e01b031982167f2a55205a000000000000000000000000000000000000000000000000000000001480610a0757506301ffc9a760e01b6001600160e01b0319831614610a07565b6008546001600160a01b03610100909104163314610efe5760405162461bcd60e51b815260040161103690613c6d565b6127106bffffffffffffffffffffffff82161115611b495760405162461bcd60e51b815260040161103690613cd7565b6001600160a01b038216611b6f5760405162461bcd60e51b815260040161103690613d1b565b604080518082019091526001600160a01b039092168083526bffffffffffffffffffffffff9091166020909201829052600160a01b90910217600a55565b6000805482108015610a07575050600090815260046020526040902054600160e01b161590565b69c617113400112233445560005230601a5280603a52600080604460166daaeb6d7670e522a718067333cd4e5afa611c10573d6000803e3d6000fd5b6000603a5250565b6000611c2382611004565b9050336001600160a01b03821614611c7557611c3f8133610965565b611c75576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260066020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000611ce9826120e5565b9050836001600160a01b0316816001600160a01b031614611d36576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526006602052604090208054611d628187335b6001600160a01b039081169116811491141790565b611d8d57611d708633610965565b611d8d57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038516611dcd576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611dda8686866001612a68565b8015611de557600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040902055600160e11b8316611e705760018401600081815260046020526040902054611e6e576000548114611e6e5760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b611ec1612a75565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611efb9190612f02565b60405180910390a1565b6000611f10836120e5565b905080600080611f2e86600090815260066020526040902080549091565b915091508415611f6e57611f43818433611d4d565b611f6e57611f518333610965565b611f6e57604051632ce44b5f60e11b815260040160405180910390fd5b611f7c836000886001612a68565b8015611f8757600082555b6001600160a01b038316600081815260056020526040902080546fffffffffffffffffffffffffffffffff0190554260a01b177c030000000000000000000000000000000000000000000000000000000017600087815260046020526040902055600160e11b841661202757600186016000818152600460205260409020546120255760005481146120255760008181526004602052604090208590555b505b60405186906000906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050600180548101905550505050565b6001600160a01b0390911690637d3e3dbe8161209c57826120955750634420e48661209c565b5063a0af29035b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af16120db578060005160e01c14156120db57600080fd5b6000602452505050565b60008160005481101561212d57600081815260046020526040902054600160e01b811661212b575b80610c2957506000190160008181526004602052604090205461210d565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005481612199576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121a66000848385612a68565b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461225557808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460010161221d565b508161228d576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005550505050565b600880546001600160a01b038381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff85161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600d600e6040516123189190613947565b9081526040519081900360200190206007015460ff166123d75780600d600e6040516123449190613947565b90815260200160405180910390206001016000846001600160a01b03166001600160a01b03168152602001908152602001600020546123839190613833565b600d600e6040516123949190613947565b90815260408051602092819003830190206001600160a01b0386166000908152925290205410156123d75760405162461bcd60e51b815260040161103690613d85565b600d600e6040516123e89190613947565b9081526020016040518091039020600601546000146124435742600d600e6040516124139190613947565b90815260200160405180910390206006015411156124435760405162461bcd60e51b815260040161103690613def565b600d600e6040516124549190613947565b9081526020016040518091039020600501546000146124af5742600d600e60405161247f9190613947565b90815260200160405180910390206005015410156124af5760405162461bcd60e51b815260040161103690613def565b80600d600e6040516124c19190613947565b90815260200160405180910390206004015410156124f15760405162461bcd60e51b815260040161103690613e59565b600c54816124fe60005490565b6125089190613833565b11156125265760405162461bcd60e51b815260040161103690613e9d565b612530828261215f565b80600d600e6040516125429190613947565b90815260200160405180910390206001016000846001600160a01b03166001600160a01b0316815260200190815260200160002060008282546125859190613833565b909155505060405181906001600160a01b038416907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688590600090a35050565b6125cc612a97565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611eee3390565b604080516080810182526000808252602082018190529181018290526060810191909152600082815260046020526040902054610a0790604080516080810182526001600160a01b038316815260a083901c67ffffffffffffffff166020820152600160e01b831615159181019190915260e89190911c606082015290565b610a378363a9059cbb60e01b848460405160240161269f929190613011565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152612aba565b6002600954141561270e5760405162461bcd60e51b815260040161103690613ee1565b6002600955565b610c60846323b872dd60e01b85858560405160240161269f93929190613ef1565b3360008181526007602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190612799908590612d36565b60405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906127da903390899088908890600401613f19565b602060405180830381600087803b1580156127f457600080fd5b505af1925050508015612824575060408051601f3d908101601f1916820190925261282191810190613f68565b60015b61287f573d808015612852576040519150601f19603f3d011682016040523d82523d6000602084013e612857565b606091505b508051612877576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b604080516080810182526000808252602082018190529181018290526060810191909152610a076128cc836120e5565b604080516080810182526001600160a01b038316815260a083901c67ffffffffffffffff166020820152600160e01b831615159181019190915260e89190911c606082015290565b606081516000141561293457505060408051602081019091526000815290565b60006040518060600160405280604081526020016140f860409139905060006003845160026129639190613833565b61296d9190613785565b612978906004613750565b67ffffffffffffffff81111561299057612990613072565b6040519080825280601f01601f1916602001820160405280156129ba576020820181803683370190505b509050600182016020820185865187015b80821015612a26576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f81168501518453600184019350506129cb565b5050600386510660018114612a425760028114612a5557612a5d565b603d6001830353603d6002830353612a5d565b603d60018303535b509195945050505050565b612a70612a97565b610c60565b60085460ff16610efe5760405162461bcd60e51b815260040161103690613fbd565b60085460ff1615610efe5760405162461bcd60e51b815260040161103690614001565b6000612b0f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b4c9092919063ffffffff16565b9050805160001480612b30575080806020019051810190612b30919061401c565b610a375760405162461bcd60e51b815260040161103690614097565b6060610df1848460008585600080866001600160a01b03168587604051612b7391906140a7565b60006040518083038185875af1925050503d8060008114612bb0576040519150601f19603f3d011682016040523d82523d6000602084013e612bb5565b606091505b5091509150612bc687838387612bd1565b979650505050505050565b60608315612c0d578251612c06576001600160a01b0385163b612c065760405162461bcd60e51b8152600401611036906140e7565b5081610df1565b610df18383815115612c225781518083602001fd5b8060405162461bcd60e51b81526004016110369190612eb6565b828054612c48906136ed565b90600052602060002090601f016020900481019282612c6a5760008555612cb0565b82601f10612c835782800160ff19823516178555612cb0565b82800160010185558215612cb0579182015b82811115612cb0578235825591602001919060010190612c95565b50612cbc929150612cc0565b5090565b5b80821115612cbc5760008155600101612cc1565b805b82525050565b60208101610a078284612cd5565b6001600160e01b031981165b8114610e4157600080fd5b8035610a0781612ceb565b600060208284031215612d2257612d22600080fd5b6000610df18484612d02565b801515612cd7565b60208101610a078284612d2e565b60006001600160a01b038216610a07565b612cf781612d44565b8035610a0781612d55565b6bffffffffffffffffffffffff8116612cf7565b8035610a0781612d69565b60008060408385031215612d9e57612d9e600080fd5b6000612daa8585612d5e565b9250506020612dbb85828601612d7d565b9150509250929050565b60008083601f840112612dda57612dda600080fd5b50813567ffffffffffffffff811115612df557612df5600080fd5b602083019150836001820283011115610d6057610d60600080fd5b60008060208385031215612e2657612e26600080fd5b823567ffffffffffffffff811115612e4057612e40600080fd5b612e4c85828601612dc5565b92509250509250929050565b60005b83811015612e73578181015183820152602001612e5b565b83811115610c605750506000910152565b6000612e8e825190565b808452602084019350612ea5818560208601612e58565b601f01601f19169290920192915050565b60208082528101610c298184612e84565b80612cf7565b8035610a0781612ec7565b600060208284031215612eed57612eed600080fd5b6000610df18484612ecd565b612cd781612d44565b60208101610a078284612ef9565b60008060408385031215612f2657612f26600080fd5b6000612f328585612d5e565b9250506020612dbb85828601612ecd565b600080600060408486031215612f5b57612f5b600080fd5b6000612f678686612d5e565b935050602084013567ffffffffffffffff811115612f8757612f87600080fd5b612f9386828701612dc5565b92509250509250925092565b600080600060608486031215612fb757612fb7600080fd5b6000612fc38686612d5e565b9350506020612fd486828701612d5e565b9250506040612fe586828701612ecd565b9150509250925092565b6000806040838503121561300557613005600080fd5b6000612f328585612ecd565b6040810161301f8285612ef9565b610c296020830184612cd5565b801515612cf7565b8035610a078161302c565b6000806040838503121561305557613055600080fd5b60006130618585612d5e565b9250506020612dbb85828601613034565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff821117156130ae576130ae613072565b6040525050565b60006130c060405190565b90506130cc8282613088565b919050565b600067ffffffffffffffff8211156130eb576130eb613072565b601f19601f83011660200192915050565b82818337506000910152565b600061311b613116846130d1565b6130b5565b90508281526020810184848401111561313657613136600080fd5b6131418482856130fc565b509392505050565b600082601f83011261315d5761315d600080fd5b8135610df1848260208601613108565b60006020828403121561318257613182600080fd5b813567ffffffffffffffff81111561319c5761319c600080fd5b610df184828501613149565b60c081016131b68289612cd5565b6131c36020830188612ef9565b6131d06040830187612cd5565b6131dd6060830186612cd5565b6131ea6080830185612cd5565b612bc660a0830184612d2e565b60008083601f84011261320c5761320c600080fd5b50813567ffffffffffffffff81111561322757613227600080fd5b602083019150836020820283011115610d6057610d60600080fd5b6000806020838503121561325857613258600080fd5b823567ffffffffffffffff81111561327257613272600080fd5b612e4c858286016131f7565b67ffffffffffffffff8116612cd7565b62ffffff8116612cd7565b805160808301906132aa8482612ef9565b5060208201516132bd602085018261327e565b5060408201516132d06040850182612d2e565b506060820151610c60606085018261328e565b60006132ef8383613299565b505060800190565b6000613301825190565b80845260209384019383018060005b8381101561333557815161332488826132e3565b975060208301925050600101613310565b509495945050505050565b60208082528101610c2981846132f7565b6000806000806040858703121561336a5761336a600080fd5b843567ffffffffffffffff81111561338457613384600080fd5b613390878288016131f7565b9450945050602085013567ffffffffffffffff8111156133b2576133b2600080fd5b6133be878288016131f7565b95989497509550505050565b6000602082840312156133df576133df600080fd5b6000610df18484612d5e565b6000806000806060858703121561340457613404600080fd5b60006134108787612d5e565b945050602061342187828801612ecd565b935050604085013567ffffffffffffffff81111561344157613441600080fd5b6133be87828801612dc5565b60006134598383612cd5565b505060200190565b600061346b825190565b80845260209384019383018060005b8381101561333557815161348e888261344d565b97506020830192505060010161347a565b60208082528101610c298184613461565b6000806000606084860312156134c8576134c8600080fd5b60006134d48686612d5e565b9350506020612fd486828701612ecd565b6000602082840312156134fa576134fa600080fd5b6000610df18484613034565b6000806000806080858703121561351f5761351f600080fd5b600061352b8787612d5e565b945050602061353c87828801612d5e565b935050604061354d87828801612ecd565b925050606085013567ffffffffffffffff81111561356d5761356d600080fd5b61357987828801613149565b91505092959194509250565b60808101610a078284613299565b600080604083850312156135a9576135a9600080fd5b60006135b58585612d5e565b9250506020612dbb85828601612d5e565b60008060008060008060008060008060006101008c8e0312156135eb576135eb600080fd5b8b3567ffffffffffffffff81111561360557613605600080fd5b6136118e828f01612dc5565b9b509b505060208c013567ffffffffffffffff81111561363357613633600080fd5b61363f8e828f016131f7565b995099505060408c013567ffffffffffffffff81111561366157613661600080fd5b61366d8e828f016131f7565b975097505060606136808e828f01612ecd565b95505060806136918e828f01612d5e565b94505060a06136a28e828f01612ecd565b93505060c06136b38e828f01612ecd565b92505060e06136c48e828f01613034565b9150509295989b509295989b9093969950565b634e487b7160e01b600052602260045260246000fd5b60028104600182168061370157607f821691505b60208210811415613714576137146136d7565b50919050565b60006137278385846130fc565b50500190565b6000610df182848661371a565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561376a5761376a61373a565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826137945761379461376f565b500490565b6000828210156137ab576137ab61373a565b500390565b634e487b7160e01b600052603260045260246000fd5b602e81526000602082017f41646472657373657320616e64207175616e74697479206d757374206265207481527f68652073616d65206c656e677468000000000000000000000000000000000000602082015291505b5060400190565b60208082528101610a07816137c6565b600082198211156138465761384661373a565b500190565b600a81526000602082017f4f7665726d696e74656400000000000000000000000000000000000000000000815291505b5060200190565b60208082528101610a078161384b565b60006000198214156138a6576138a661373a565b5060010190565b8051610a0781612ec7565b6000602082840312156138cd576138cd600080fd5b6000610df184846138ad565b600081546138e6816136ed565b6001821680156138fd576001811461390e5761393e565b60ff1983168652818601935061393e565b60008581526020902060005b838110156139365781548882015260019091019060200161391a565b838801955050505b50505092915050565b6000610c2982846138d9565b601481526000602082017f546f6b656e20646f6573206e6f742065786973740000000000000000000000008152915061387b565b60208082528101610a0781613953565b7f7b00000000000000000000000000000000000000000000000000000000000000815260006138a6565b7f7d00000000000000000000000000000000000000000000000000000000000000815260006138a6565b60006139f682613997565b7f226e616d65223a20224d797374657279204368657374222c000000000000000081527f226465736372697074696f6e223a20225768617420636f756c6420626520696e60188201527f736964653f222c0000000000000000000000000000000000000000000000000060388201527f22696d616765223a202200000000000000000000000000000000000000000000603f8201526049019150613a9a82856138d9565b61088b60f21b81527f22616e696d6174696f6e5f75726c223a2020220000000000000000000000000060028201526015019150613ad782846138d9565b61088b60f21b81527f2261747472696275746573223a205b5d0000000000000000000000000000000060028201526012019150610df1826139c1565b6000613b1d825190565b613b2b818560208601612e58565b9290920192915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152601d016000610c298284613b13565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181527f64647265737300000000000000000000000000000000000000000000000000006020820152915061381c565b60208082528101610a0781613b67565b603481526000602082017f41646472657373657320616e64206d696e74517479416c6c6f776564206d757381527f74206265207468652073616d65206c656e6774680000000000000000000000006020820152915061381c565b60208082528101610a0781613bd1565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65729101908152600061387b565b60208082528101610a0781613c3b565b602a81526000602082017f455243323938313a20726f79616c7479206665652077696c6c2065786365656481527f2073616c655072696365000000000000000000000000000000000000000000006020820152915061381c565b60208082528101610a0781613c7d565b601981526000602082017f455243323938313a20696e76616c6964207265636569766572000000000000008152915061387b565b60208082528101610a0781613ce7565b603a81526000602082017f596f7520617265206e6f7420616c6c6f77656420746f206d696e74207468697381527f206d616e7920746f6b656e7320696e20746869732070686173650000000000006020820152915061381c565b60208082528101610a0781613d2b565b602581526000602082017f4d696e74696e67206973206e6f7420617661696c61626c65206174207468697381527f2074696d650000000000000000000000000000000000000000000000000000006020820152915061381c565b60208082528101610a0781613d95565b603781526000602082017f596f752061726520747279696e6720746f206d696e7420746f6f206d616e792081527f696e20612073696e676c65207472616e73616374696f6e0000000000000000006020820152915061381c565b60208082528101610a0781613dff565b600881526000602082017f536f6c64206f75740000000000000000000000000000000000000000000000008152915061387b565b60208082528101610a0781613e69565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c008152915061387b565b60208082528101610a0781613ead565b60608101613eff8286612ef9565b613f0c6020830185612ef9565b610df16040830184612cd5565b60808101613f278287612ef9565b613f346020830186612ef9565b613f416040830185612cd5565b8181036060830152613f538184612e84565b9695505050505050565b8051610a0781612ceb565b600060208284031215613f7d57613f7d600080fd5b6000610df18484613f5d565b601481526000602082017f5061757361626c653a206e6f74207061757365640000000000000000000000008152915061387b565b60208082528101610a0781613f89565b601081526000602082017f5061757361626c653a20706175736564000000000000000000000000000000008152915061387b565b60208082528101610a0781613fcd565b8051610a078161302c565b60006020828403121561403157614031600080fd5b6000610df18484614011565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e81527f6f742073756363656564000000000000000000000000000000000000000000006020820152915061381c565b60208082528101610a078161403d565b6000610c298284613b13565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000008152915061387b565b60208082528101610a07816140b356fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220b29b026bef0558cf4f050f9f79e1692dbc23ab6069c6f2d8697ccee2171f9d4164736f6c63430008090033