0 txs
0 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseURI
viewfunction baseURI() view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getMinterAddress
viewfunction getMinterAddress() view returns (address)
getTokenCharacteristics
viewfunction getTokenCharacteristics(uint256 _tokenId) view returns (uint256 _level, string _breed, string _claw, string _wingspan, string _sight)
getTokenList
viewfunction getTokenList(address _userAddress) view returns (uint256[])
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isTokenExists
viewfunction isTokenExists(uint256 _tokenId) view returns (bool)
isWhitelistEnable
viewfunction isWhitelistEnable() view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenCharacteristics
viewfunction tokenCharacteristics(uint256) view returns (uint256 tokenId, uint256 level, string breed, string claw, string wingspan, string sight)
tokenId
viewfunction tokenId() view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenOwnedByUser
viewfunction tokenOwnedByUser(address _owner) view returns (uint256[])
tokenURI
viewfunction tokenURI(uint256 _tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
userToken
viewfunction userToken(address) view returns (address userAddress)
whitelistedAccounts
viewfunction whitelistedAccounts(uint256) view returns (address)
addTokenCharacteristics
nonpayablefunction addTokenCharacteristics(uint256 _tokenId, uint256 _level, string _breed, string _claw, string _wingspan, string _sight)
addTokenCharacteristicsInBulk
nonpayablefunction addTokenCharacteristicsInBulk(uint256[] _tokenId, uint256[] _level, string[] _breed, string[] _claw, string[] _wingspan, string[] _sight)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burnInBulk
nonpayablefunction burnInBulk(uint256[] _tokenId)
burnNFT
nonpayablefunction burnNFT(uint256 _tokenId)
mintToken
nonpayablefunction mintToken(address _toAddress, uint256 _tokenId)
removeAccountWhitelist
nonpayablefunction removeAccountWhitelist(address _account)
removeTokenIdFromUser
nonpayablefunction removeTokenIdFromUser(uint256 _tokenId)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 __tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 __tokenId)
setAccountWhitelist
nonpayablefunction setAccountWhitelist(address _account)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string _newBaseURI)
setMinterRole
nonpayablefunction setMinterRole(address _minter)
setWhitelistDisable
nonpayablefunction setWhitelistDisable()
setWhitelistEnable
nonpayablefunction setWhitelistEnable()
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 __tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060408051808201825260038082526213d5d360ea1b60208084018281528551808701909652928552840152815191929162000050916000916200008e565b508051620000669060019060208401906200008e565b5050600a80546001600160a01b03191633179055506011805460ff1916600117905562000171565b8280546200009c9062000134565b90600052602060002090601f016020900481019282620000c057600085556200010b565b82601f10620000db57805160ff19168380011785556200010b565b828001600101855582156200010b579182015b828111156200010b578251825591602001919060010190620000ee565b50620001199291506200011d565b5090565b5b808211156200011957600081556001016200011e565b600181811c908216806200014957607f821691505b602082108114156200016b57634e487b7160e01b600052602260045260246000fd5b50919050565b61338c80620001816000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806365b415c911610146578063a7ee06db116100c3578063d8a3073211610087578063d8a307321461051f578063e985e9c51461053f578063f2fde38b1461057b578063f94493d31461058e578063fdc4da34146105b2578063ff859027146105c557600080fd5b8063a7ee06db146104d1578063ad52159f146104de578063b88d4fde146104e6578063be7872d8146104f9578063c87b56dd1461050c57600080fd5b80638da5cb5b1161010a5780638da5cb5b1461047a57806393e5d42a1461048d578063945d1229146104a357806395d89b41146104b6578063a22cb465146104be57600080fd5b806365b415c9146104145780636c0360eb146104275780636f6d19c71461042f57806370a082311461045457806379c650681461046757600080fd5b806323b872dd116101d45780635116d893116101985780635116d893146103b557806355f804b3146103c85780635b23d75e146103db5780636352211e146103ee57806363e190a11461040157600080fd5b806323b872dd146103565780632890e0d7146103695780632f745c591461037c57806342842e0e1461038f5780634f6ccce7146103a257600080fd5b80631663c7081161021b5780631663c708146102e857806317d70f7c1461031157806318160ddd146103285780631f1a1a7d146103305780631f7017041461034357600080fd5b806301ffc9a71461025857806306fdde0314610280578063081812fc14610295578063095ea7b3146102c05780630b207ec9146102d5575b600080fd5b61026b610266366004612d06565b6105cd565b60405190151581526020015b60405180910390f35b6102886105f8565b6040516102779190612fb0565b6102a86102a3366004612d75565b61068a565b6040516001600160a01b039091168152602001610277565b6102d36102ce366004612bb2565b610724565b005b6102a86102e3366004612d75565b61083a565b6102a86102f6366004612a70565b600d602052600090815260409020546001600160a01b031681565b61031a600b5481565b604051908152602001610277565b60085461031a565b6102d361033e366004612d8e565b610864565b61026b610351366004612d75565b610938565b6102d3610364366004612abe565b610957565b6102d3610377366004612d75565b6109f9565b61031a61038a366004612bb2565b610a22565b6102d361039d366004612abe565b610ab8565b61031a6103b0366004612d75565b610b3d565b6102d36103c3366004612c11565b610bd0565b6102d36103d6366004612d40565b610d61565b6102d36103e9366004612a70565b610da2565b6102a86103fc366004612d75565b610f0f565b6102d361040f366004612bdc565b610f86565b6102d3610422366004612a70565b611005565b610288611095565b61044261043d366004612d75565b611123565b6040516102779695949392919061313e565b61031a610462366004612a70565b611378565b6102d3610475366004612bb2565b6113ff565b600a546102a8906001600160a01b031681565b60115461010090046001600160a01b03166102a8565b6102d36104b1366004612a70565b6114c0565b610288611512565b6102d36104cc366004612b76565b611521565b60115461026b9060ff1681565b6102d36115e6565b6102d36104f4366004612afa565b61161f565b6102d3610507366004612d75565b6116c3565b61028861051a366004612d75565b611908565b61053261052d366004612a70565b6119e3565b6040516102779190612f6c565b61026b61054d366004612a8b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102d3610589366004612a70565b611a52565b6105a161059c366004612d75565b611aeb565b6040516102779594939291906130df565b6105326105c0366004612a70565b611d7f565b6102d3611e21565b60006001600160e01b0319821663780e9d6360e01b14806105f257506105f282611e57565b92915050565b60606000805461060790613268565b80601f016020809104026020016040519081016040528092919081815260200182805461063390613268565b80156106805780601f1061065557610100808354040283529160200191610680565b820191906000526020600020905b81548152906001019060200180831161066357829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166107085760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061072f82610f0f565b9050806001600160a01b0316836001600160a01b0316141561079d5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016106ff565b336001600160a01b03821614806107b957506107b9813361054d565b61082b5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106ff565b6108358383611ea7565b505050565b6010818154811061084a57600080fd5b6000918252602090912001546001600160a01b0316905081565b600a546001600160a01b0316331461088e5760405162461bcd60e51b81526004016106ff906130bb565b6000868152600e6020908152604090912087815584516108b692600390920191860190612838565b506000868152600e6020908152604090912083516108dc92600490920191850190612838565b506000868152600e60209081526040909120825161090292600590920191840190612838565b506000868152600e6020908152604090912060018101879055855161092f92600290920191870190612838565b50505050505050565b6000818152600260205260408120546001600160a01b031615156105f2565b6011548390839060ff16156109f2576001600160a01b0382166000908152600f602052604090205460ff16806109a557506001600160a01b0381166000908152600f602052604090205460ff165b6109c15760405162461bcd60e51b81526004016106ff90613015565b6109cb3384611f15565b6109e75760405162461bcd60e51b81526004016106ff9061306a565b6109f285858561200c565b5050505050565b33610a0382610f0f565b6001600160a01b031614610a1657600080fd5b610a1f816121b7565b50565b6000610a2d83611378565b8210610a8f5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016106ff565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6011548390839060ff16156109f2576001600160a01b0382166000908152600f602052604090205460ff1680610b0657506001600160a01b0381166000908152600f602052604090205460ff165b610b225760405162461bcd60e51b81526004016106ff90613015565b6109f28585856040518060200160405280600081525061161f565b6000610b4860085490565b8210610bab5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016106ff565b60088281548110610bbe57610bbe613314565b90600052602060002001549050919050565b600a546001600160a01b03163314610bfa5760405162461bcd60e51b81526004016106ff906130bb565b8251865114610c1b5760405162461bcd60e51b81526004016106ff9061303f565b8151865114610c3c5760405162461bcd60e51b81526004016106ff9061303f565b8051865114610c5d5760405162461bcd60e51b81526004016106ff9061303f565b8451865114610c7e5760405162461bcd60e51b81526004016106ff9061303f565b8351865114610c9f5760405162461bcd60e51b81526004016106ff9061303f565b60005b865181101561092f57610d4f878281518110610cc057610cc0613314565b6020026020010151878381518110610cda57610cda613314565b6020026020010151878481518110610cf457610cf4613314565b6020026020010151878581518110610d0e57610d0e613314565b6020026020010151878681518110610d2857610d28613314565b6020026020010151878781518110610d4257610d42613314565b6020026020010151610864565b80610d59816132a3565b915050610ca2565b600a546001600160a01b03163314610d8b5760405162461bcd60e51b81526004016106ff906130bb565b8051610d9e90600c906020840190612838565b5050565b600a546001600160a01b03163314610dcc5760405162461bcd60e51b81526004016106ff906130bb565b6001600160a01b0381166000908152600f60205260408120805460ff191660011790555b601054811015610d9e5760108181548110610e0d57610e0d613314565b6000918252602090912001546001600160a01b0383811691161415610efd57805b601054610e3d90600190613225565b811015610ec8576010610e518260016131f9565b81548110610e6157610e61613314565b600091825260209091200154601080546001600160a01b039092169183908110610e8d57610e8d613314565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610ec0816132a3565b915050610e2e565b506010805480610eda57610eda6132fe565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610f07816132a3565b915050610df0565b6000818152600260205260408120546001600160a01b0316806105f25760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016106ff565b60005b8151811015610d9e57336001600160a01b0316610fbe838381518110610fb157610fb1613314565b6020026020010151610f0f565b6001600160a01b031614610fd157600080fd5b610ff3828281518110610fe657610fe6613314565b60200260200101516121b7565b80610ffd816132a3565b915050610f89565b600a546001600160a01b0316331461102f5760405162461bcd60e51b81526004016106ff906130bb565b6001600160a01b03166000818152600f60205260408120805460ff191660019081179091556010805491820181559091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b0319169091179055565b600c80546110a290613268565b80601f01602080910402602001604051908101604052809291908181526020018280546110ce90613268565b801561111b5780601f106110f05761010080835404028352916020019161111b565b820191906000526020600020905b8154815290600101906020018083116110fe57829003601f168201915b505050505081565b600e602052600090815260409020805460018201546002830180549293919261114b90613268565b80601f016020809104026020016040519081016040528092919081815260200182805461117790613268565b80156111c45780601f10611199576101008083540402835291602001916111c4565b820191906000526020600020905b8154815290600101906020018083116111a757829003601f168201915b5050505050908060030180546111d990613268565b80601f016020809104026020016040519081016040528092919081815260200182805461120590613268565b80156112525780601f1061122757610100808354040283529160200191611252565b820191906000526020600020905b81548152906001019060200180831161123557829003601f168201915b50505050509080600401805461126790613268565b80601f016020809104026020016040519081016040528092919081815260200182805461129390613268565b80156112e05780601f106112b5576101008083540402835291602001916112e0565b820191906000526020600020905b8154815290600101906020018083116112c357829003601f168201915b5050505050908060050180546112f590613268565b80601f016020809104026020016040519081016040528092919081815260200182805461132190613268565b801561136e5780601f106113435761010080835404028352916020019161136e565b820191906000526020600020905b81548152906001019060200180831161135157829003601f168201915b5050505050905086565b60006001600160a01b0382166113e35760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016106ff565b506001600160a01b031660009081526003602052604090205490565b60115461010090046001600160a01b0316331461145e5760405162461bcd60e51b815260206004820181905260248201527f53656e64657220646f6573206e6f742068617665206d696e74657220726f6c6560448201526064016106ff565b611468828261225e565b6001600160a01b0382166000818152600d60209081526040822080546001600160a01b031916909317835560019283018054938401815582528120909101829055600b8054916114b7836132a3565b91905055505050565b600a546001600160a01b031633146114ea5760405162461bcd60e51b81526004016106ff906130bb565b601180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60606001805461060790613268565b6001600160a01b03821633141561157a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106ff565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b600a546001600160a01b031633146116105760405162461bcd60e51b81526004016106ff906130bb565b6011805460ff19166001179055565b6011548490849060ff16156116bb576001600160a01b0382166000908152600f602052604090205460ff168061166d57506001600160a01b0381166000908152600f602052604090205460ff165b6116895760405162461bcd60e51b81526004016106ff90613015565b6116933385611f15565b6116af5760405162461bcd60e51b81526004016106ff9061306a565b6116bb868686866123ac565b505050505050565b60115461010090046001600160a01b031633146117225760405162461bcd60e51b815260206004820181905260248201527f53656e64657220646f6573206e6f742068617665206d696e74657220726f6c6560448201526064016106ff565b60005b600d600061173284610f0f565b6001600160a01b03168152602081019190915260400160002060010154811015610d9e57600d600061176384610f0f565b6001600160a01b03166001600160a01b03168152602001908152602001600020600101818154811061179757611797613314565b90600052602060002001548214156118f657805b6001600d60006117ba86610f0f565b6001600160a01b031681526020810191909152604001600020600101546117e19190613225565b81101561189f57600d60006117f585610f0f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060010181600161182591906131f9565b8154811061183557611835613314565b9060005260206000200154600d600061184d86610f0f565b6001600160a01b03166001600160a01b03168152602001908152602001600020600101828154811061188157611881613314565b60009182526020909120015580611897816132a3565b9150506117ab565b50600d60006118ad84610f0f565b6001600160a01b03166001600160a01b031681526020019081526020016000206001018054806118df576118df6132fe565b600190038181906000526020600020016000905590555b80611900816132a3565b915050611725565b6000818152600260205260409020546060906001600160a01b03166119875760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016106ff565b6000600c805461199690613268565b9050116119b257604051806020016040528060008152506105f2565b600c6119bd836123e5565b6040516020016119ce929190612e88565b60405160208183030381529060405292915050565b6001600160a01b0381166000908152600d6020908152604091829020600101805483518184028101840190945280845260609392830182828015611a4657602002820191906000526020600020905b815481526020019060010190808311611a32575b50505050509050919050565b600a546001600160a01b03163314611a7c5760405162461bcd60e51b81526004016106ff906130bb565b6001600160a01b038116611a8f57600080fd5b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600e602052604081206003018054606091829182918291611b1090613268565b80601f0160208091040260200160405190810160405280929190818152602001828054611b3c90613268565b8015611b895780601f10611b5e57610100808354040283529160200191611b89565b820191906000526020600020905b815481529060010190602001808311611b6c57829003601f168201915b5050506000898152600e60205260409020600401805493965092611baf92509050613268565b80601f0160208091040260200160405190810160405280929190818152602001828054611bdb90613268565b8015611c285780601f10611bfd57610100808354040283529160200191611c28565b820191906000526020600020905b815481529060010190602001808311611c0b57829003601f168201915b5050506000898152600e60205260409020600501805493955092611c4e92509050613268565b80601f0160208091040260200160405190810160405280929190818152602001828054611c7a90613268565b8015611cc75780601f10611c9c57610100808354040283529160200191611cc7565b820191906000526020600020905b815481529060010190602001808311611caa57829003601f168201915b5050506000898152600e60205260409020600181015460029091018054919950939450611cf692509050613268565b80601f0160208091040260200160405190810160405280929190818152602001828054611d2290613268565b8015611d6f5780601f10611d4457610100808354040283529160200191611d6f565b820191906000526020600020905b815481529060010190602001808311611d5257829003601f168201915b5050505050935091939590929450565b60606000611d8c83611378565b905060008167ffffffffffffffff811115611da957611da961332a565b604051908082528060200260200182016040528015611dd2578160200160208202803683370190505b50905060005b82811015611e1957611dea8582610a22565b828281518110611dfc57611dfc613314565b602090810291909101015280611e11816132a3565b915050611dd8565b509392505050565b600a546001600160a01b03163314611e4b5760405162461bcd60e51b81526004016106ff906130bb565b6011805460ff19169055565b60006001600160e01b031982166380ac58cd60e01b1480611e8857506001600160e01b03198216635b5e139f60e01b145b806105f257506301ffc9a760e01b6001600160e01b03198316146105f2565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611edc82610f0f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611f8e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016106ff565b6000611f9983610f0f565b9050806001600160a01b0316846001600160a01b03161480611fd45750836001600160a01b0316611fc98461068a565b6001600160a01b0316145b8061200457506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661201f82610f0f565b6001600160a01b0316146120875760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016106ff565b6001600160a01b0382166120e95760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ff565b6120f48383836124e3565b6120ff600082611ea7565b6001600160a01b0383166000908152600360205260408120805460019290612128908490613225565b90915550506001600160a01b03821660009081526003602052604081208054600192906121569084906131f9565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006121c282610f0f565b90506121d0816000846124e3565b6121db600083611ea7565b6001600160a01b0381166000908152600360205260408120805460019290612204908490613225565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0382166122b45760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016106ff565b6000818152600260205260409020546001600160a01b0316156123195760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016106ff565b612325600083836124e3565b6001600160a01b038216600090815260036020526040812080546001929061234e9084906131f9565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6123b784848461200c565b6123c38484848461259b565b6123df5760405162461bcd60e51b81526004016106ff90612fc3565b50505050565b6060816124095750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612433578061241d816132a3565b915061242c9050600a83613211565b915061240d565b60008167ffffffffffffffff81111561244e5761244e61332a565b6040519080825280601f01601f191660200182016040528015612478576020820181803683370190505b5090505b84156120045761248d600183613225565b915061249a600a866132be565b6124a59060306131f9565b60f81b8183815181106124ba576124ba613314565b60200101906001600160f81b031916908160001a9053506124dc600a86613211565b945061247c565b6001600160a01b03831661253e5761253981600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612561565b816001600160a01b0316836001600160a01b0316146125615761256183826126a8565b6001600160a01b0382166125785761083581612745565b826001600160a01b0316826001600160a01b0316146108355761083582826127f4565b60006001600160a01b0384163b1561269d57604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906125df903390899088908890600401612f2f565b602060405180830381600087803b1580156125f957600080fd5b505af1925050508015612629575060408051601f3d908101601f1916820190925261262691810190612d23565b60015b612683573d808015612657576040519150601f19603f3d011682016040523d82523d6000602084013e61265c565b606091505b50805161267b5760405162461bcd60e51b81526004016106ff90612fc3565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612004565b506001949350505050565b600060016126b584611378565b6126bf9190613225565b600083815260076020526040902054909150808214612712576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061275790600190613225565b6000838152600960205260408120546008805493945090928490811061277f5761277f613314565b9060005260206000200154905080600883815481106127a0576127a0613314565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806127d8576127d86132fe565b6001900381819060005260206000200160009055905550505050565b60006127ff83611378565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b82805461284490613268565b90600052602060002090601f01602090048101928261286657600085556128ac565b82601f1061287f57805160ff19168380011785556128ac565b828001600101855582156128ac579182015b828111156128ac578251825591602001919060010190612891565b506128b89291506128bc565b5090565b5b808211156128b857600081556001016128bd565b600067ffffffffffffffff8311156128eb576128eb61332a565b6128fe601f8401601f19166020016131a4565b905082815283838301111561291257600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b038116811461294057600080fd5b919050565b600082601f83011261295657600080fd5b8135602061296b612966836131d5565b6131a4565b80838252828201915082860187848660051b890101111561298b57600080fd5b6000805b868110156129ce57823567ffffffffffffffff8111156129ad578283fd5b6129bb8b88838d0101612a49565b865250938501939185019160010161298f565b509198975050505050505050565b600082601f8301126129ed57600080fd5b813560206129fd612966836131d5565b80838252828201915082860187848660051b8901011115612a1d57600080fd5b60005b85811015612a3c57813584529284019290840190600101612a20565b5090979650505050505050565b600082601f830112612a5a57600080fd5b612a69838335602085016128d1565b9392505050565b600060208284031215612a8257600080fd5b612a6982612929565b60008060408385031215612a9e57600080fd5b612aa783612929565b9150612ab560208401612929565b90509250929050565b600080600060608486031215612ad357600080fd5b612adc84612929565b9250612aea60208501612929565b9150604084013590509250925092565b60008060008060808587031215612b1057600080fd5b612b1985612929565b9350612b2760208601612929565b925060408501359150606085013567ffffffffffffffff811115612b4a57600080fd5b8501601f81018713612b5b57600080fd5b612b6a878235602084016128d1565b91505092959194509250565b60008060408385031215612b8957600080fd5b612b9283612929565b915060208301358015158114612ba757600080fd5b809150509250929050565b60008060408385031215612bc557600080fd5b612bce83612929565b946020939093013593505050565b600060208284031215612bee57600080fd5b813567ffffffffffffffff811115612c0557600080fd5b612004848285016129dc565b60008060008060008060c08789031215612c2a57600080fd5b863567ffffffffffffffff80821115612c4257600080fd5b612c4e8a838b016129dc565b97506020890135915080821115612c6457600080fd5b612c708a838b016129dc565b96506040890135915080821115612c8657600080fd5b612c928a838b01612945565b95506060890135915080821115612ca857600080fd5b612cb48a838b01612945565b94506080890135915080821115612cca57600080fd5b612cd68a838b01612945565b935060a0890135915080821115612cec57600080fd5b50612cf989828a01612945565b9150509295509295509295565b600060208284031215612d1857600080fd5b8135612a6981613340565b600060208284031215612d3557600080fd5b8151612a6981613340565b600060208284031215612d5257600080fd5b813567ffffffffffffffff811115612d6957600080fd5b61200484828501612a49565b600060208284031215612d8757600080fd5b5035919050565b60008060008060008060c08789031215612da757600080fd5b8635955060208701359450604087013567ffffffffffffffff80821115612dcd57600080fd5b612dd98a838b01612a49565b95506060890135915080821115612def57600080fd5b612dfb8a838b01612a49565b94506080890135915080821115612e1157600080fd5b612e1d8a838b01612a49565b935060a0890135915080821115612e3357600080fd5b50612cf989828a01612a49565b60008151808452612e5881602086016020860161323c565b601f01601f19169290920160200192915050565b60008151612e7e81856020860161323c565b9290920192915050565b600080845481600182811c915080831680612ea457607f831692505b6020808410821415612ec457634e487b7160e01b86526022600452602486fd5b818015612ed85760018114612ee957612f16565b60ff19861689528489019650612f16565b60008b81526020902060005b86811015612f0e5781548b820152908501908301612ef5565b505084890196505b505050505050612f268185612e6c565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f6290830184612e40565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612fa457835183529284019291840191600101612f88565b50909695505050505050565b602081526000612a696020830184612e40565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526010908201526f21b0b7103737ba103a3930b739b332b960811b604082015260600190565b602080825260119082015270706172616d65746572206d697373696e6760781b604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b85815260a0602082015260006130f860a0830187612e40565b828103604084015261310a8187612e40565b9050828103606084015261311e8186612e40565b905082810360808401526131328185612e40565b98975050505050505050565b86815285602082015260c06040820152600061315d60c0830187612e40565b828103606084015261316f8187612e40565b905082810360808401526131838186612e40565b905082810360a08401526131978185612e40565b9998505050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156131cd576131cd61332a565b604052919050565b600067ffffffffffffffff8211156131ef576131ef61332a565b5060051b60200190565b6000821982111561320c5761320c6132d2565b500190565b600082613220576132206132e8565b500490565b600082821015613237576132376132d2565b500390565b60005b8381101561325757818101518382015260200161323f565b838111156123df5750506000910152565b600181811c9082168061327c57607f821691505b6020821081141561329d57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156132b7576132b76132d2565b5060010190565b6000826132cd576132cd6132e8565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610a1f57600080fdfea26469706673582212206af3d6a6efc5721fa8b5c7d557b67092b07dc3e083fb38f6f9c2002b11d5412064736f6c63430008070033