0 txs
0 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
CREDITS_TOKEN_ID
viewfunction CREDITS_TOKEN_ID() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
exists
viewfunction exists(uint256 id) view returns (bool)
fixedPriceSaleStrategy
viewfunction fixedPriceSaleStrategy() view returns (address)
getEthCostForCredits
purefunction getEthCostForCredits(uint256 quantity) pure returns (uint256 ethCost)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
MINT_FEE_IN_WEI
viewfunction MINT_FEE_IN_WEI() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupply
viewfunction totalSupply(uint256 id) view returns (uint256)
uri
viewfunction uri(uint256) view returns (string)
acceptOwnership
nonpayablefunction acceptOwnership()
adminSetURI
nonpayablefunction adminSetURI(string newuri)
adminWithdraw
nonpayablefunction adminWithdraw(address recipient, uint256 amount)
burn
nonpayablefunction burn(address account, uint256 id, uint256 value)
burnBatch
nonpayablefunction burnBatch(address account, uint256[] ids, uint256[] values)
buyCredits
payablefunction buyCredits(address account, uint256 amount) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(string tokenUri, address _fixedPriceSaleStrategy)
mintWithCredits
nonpayablefunction mintWithCredits(address coopCollectiblesAddress, uint256 tokenId, uint256 tokenQuantity, address tokenRecipient, address referrer)
redeemCredits
nonpayablefunction redeemCredits(uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] values, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 value, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setFixedPriceSaleStrategy
nonpayablefunction setFixedPriceSaleStrategy(address _fixedPriceSaleStrategy)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
AdminWithdrawal
event AdminWithdrawal(address indexed admin, address indexed recipient, uint256 amount)
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Initialized
event Initialized(uint64 version)
MintWithCreditsFromFixedPriceSale
event MintWithCreditsFromFixedPriceSale(uint256 indexed tokenId, address indexed tokenRecipient, address indexed referrer, uint256 tokenQuantity, uint256 creditsCost, uint256 ethCost)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
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)
URI
event URI(string value, uint256 indexed id)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
Credits1155_Contract_Address_Is_Not_A_Contract
error Credits1155_Contract_Address_Is_Not_A_Contract()
Credits1155_Insufficient_Credits_Balance
error Credits1155_Insufficient_Credits_Balance(uint256 required, uint256 available)
Credits1155_Insufficient_ETH_In_Contract
error Credits1155_Insufficient_ETH_In_Contract(uint256 required, uint256 available)
Credits1155_Invalid_Token_Id
error Credits1155_Invalid_Token_Id(uint256 tokenId)
Credits1155_Invalid_Withdraw_Address
error Credits1155_Invalid_Withdraw_Address()
Credits1155_Must_Buy_At_Least_One_Token
error Credits1155_Must_Buy_At_Least_One_Token()
Credits1155_Not_Enough_ETH_Sent
error Credits1155_Not_Enough_ETH_Sent(uint256 required, uint256 sent)
ERC1155InsufficientBalance
error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId)
ERC1155InvalidApprover
error ERC1155InvalidApprover(address approver)
ERC1155InvalidArrayLength
error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength)
ERC1155InvalidOperator
error ERC1155InvalidOperator(address operator)
ERC1155InvalidReceiver
error ERC1155InvalidReceiver(address receiver)
ERC1155InvalidSender
error ERC1155InvalidSender(address sender)
ERC1155MissingApprovalForAll
error ERC1155MissingApprovalForAll(address operator, address owner)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x608060405234801562000010575f80fd5b506200001b62000021565b620000d5565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d25780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61293c80620000e35f395ff3fe6080604052600436106101fe575f3560e01c80637eb802b911610113578063c5efaae81161009d578063e30c39781161006d578063e30c397814610624578063e985e9c514610638578063f242432a14610657578063f2fde38b14610676578063f5298aca14610695575f80fd5b8063c5efaae8146105b9578063c9f18ebd146105cc578063d1b53b9c146105eb578063d547741f14610605575f80fd5b8063a22cb465116100e3578063a22cb465146104ff578063a7fd40bf1461051e578063ad77bc401461053d578063b13bfa9114610551578063bd85b0391461056f575f80fd5b80637eb802b9146104825780638da5cb5b146104a157806391d14854146104cd578063a217fddf146104ec575f80fd5b806336568abe116101945780634f558e79116101645780634f558e79146103d05780636b20c4541461041c578063715018a61461043b57806379ba50971461044f5780637ab4339d14610463575f80fd5b806336568abe14610347578063401d4482146103665780634b844a1d146103855780634e1273f4146103a4575f80fd5b806318160ddd116101cf57806318160ddd146102b7578063248a9ca3146102ea5780632eb2c2d6146103095780632f2ff15d14610328575f80fd5b8062fdd58e1461020957806301ffc9a71461023b5780630e89341c1461026a578063116039ae14610296575f80fd5b3661020557005b5f80fd5b348015610214575f80fd5b50610228610223366004611ea2565b6106b4565b6040519081526020015b60405180910390f35b348015610246575f80fd5b5061025a610255366004611ee1565b6106e9565b6040519015158152602001610232565b348015610275575f80fd5b50610289610284366004611f03565b6106f3565b6040516102329190611f67565b3480156102a1575f80fd5b506102b56102b0366004611f79565b6107b5565b005b3480156102c2575f80fd5b507f4a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e280154610228565b3480156102f5575f80fd5b50610228610304366004611f03565b610a30565b348015610314575f80fd5b506102b5610323366004612141565b610a50565b348015610333575f80fd5b506102b56103423660046121e7565b610ab7565b348015610352575f80fd5b506102b56103613660046121e7565b610ad9565b348015610371575f80fd5b506102b5610380366004611ea2565b610b11565b348015610390575f80fd5b5061022861039f366004611f03565b610bc8565b3480156103af575f80fd5b506103c36103be366004612215565b610bda565b604051610232919061230a565b3480156103db575f80fd5b5061025a6103ea366004611f03565b5f9081527f4a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e28006020526040902054151590565b348015610427575f80fd5b506102b561043636600461231c565b610ca4565b348015610446575f80fd5b506102b5610d03565b34801561045a575f80fd5b506102b5610d16565b34801561046e575f80fd5b506102b561047d36600461238c565b610d5e565b34801561048d575f80fd5b506102b561049c3660046123cf565b610e8a565b3480156104ac575f80fd5b506104b5610ee0565b6040516001600160a01b039091168152602001610232565b3480156104d8575f80fd5b5061025a6104e73660046121e7565b610f14565b3480156104f7575f80fd5b506102285f81565b34801561050a575f80fd5b506102b56105193660046123ea565b610f4a565b348015610529575f80fd5b506102b561053836600461241a565b610f59565b348015610548575f80fd5b50610228600181565b34801561055c575f80fd5b505f546104b5906001600160a01b031681565b34801561057a575f80fd5b50610228610589366004611f03565b5f9081527f4a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e2800602052604090205490565b6102b56105c7366004611ea2565b610f6c565b3480156105d7575f80fd5b506102b56105e6366004611f03565b610fda565b3480156105f6575f80fd5b5061022866016bcc41e9000081565b348015610610575f80fd5b506102b561061f3660046121e7565b611061565b34801561062f575f80fd5b506104b561107d565b348015610643575f80fd5b5061025a610652366004612453565b6110a5565b348015610662575f80fd5b506102b561067136600461247f565b6110f1565b348015610681575f80fd5b506102b56106903660046123cf565b611150565b3480156106a0575f80fd5b506102b56106af3660046124e2565b6111d5565b5f8181525f805160206128c7833981519152602090815260408083206001600160a01b03861684529091529020545b92915050565b5f6106e38261120b565b7f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c450280546060915f805160206128c78339815191529161073190612514565b80601f016020809104026020016040519081016040528092919081815260200182805461075d90612514565b80156107a85780601f1061077f576101008083540402835291602001916107a8565b820191905f5260205f20905b81548152906001019060200180831161078b57829003601f168201915b5050505050915050919050565b846001600160a01b03163b5f036107df57604051633e07d28560e11b815260040160405180910390fd5b8460018410156108025760405163ea54cbb360e01b815260040160405180910390fd5b60405163463d31d760e11b8152600481018690525f906001600160a01b03831690638c7a63ae906024015f60405180830381865afa158015610846573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261086d919081019061254c565b8051519091505f0361089a5760405163282dcfa760e11b8152600481018790526024015b60405180910390fd5b5f6108a63360016106b4565b9050808611156108d35760405163cffb3e6960e01b81526004810187905260248101829052604401610891565b6108df3360018861124a565b5f6108e987610bc8565b6040805160018082528183019092529192505f91906020808301908036833701905050905085815f81518110610921576109216125fe565b6001600160a01b039092166020928302919091018201526040515f91610958918a91016001600160a01b0391909116815260200190565b60408051601f19818403018152908290525f54631acf898160e11b83529092506001600160a01b038089169263359f13029287926109a3929116908f908f9089908990600401612612565b5f604051808303818588803b1580156109ba575f80fd5b505af11580156109cc573d5f803e3d5ffd5b5050604080518d8152602081018e90529081018790526001600160a01b03808c1694508c1692508d91507f0be475f768b363c261073a92dfdacd93dc1e02f74c673c04add7611e10a139929060600160405180910390a45050505050505050505050565b5f9081525f805160206128e7833981519152602052604090206001015490565b336001600160a01b0386168114801590610a715750610a6f86826110a5565b155b15610aa25760405163711bec9160e11b81526001600160a01b03808316600483015287166024820152604401610891565b610aaf86868686866112b7565b505050505050565b610ac082610a30565b610ac981611315565b610ad3838361131f565b50505050565b6001600160a01b0381163314610b025760405163334bd91960e11b815260040160405180910390fd5b610b0c82826113c0565b505050565b5f610b1b81611315565b6001600160a01b038316610b4257604051633a19ac6f60e11b815260040160405180910390fd5b4780831115610b6e5760405163671123bf60e11b81526004810184905260248101829052604401610891565b610b816001600160a01b03851684611439565b6040518381526001600160a01b0385169033907f8b192dc173e314b16d9067e45c2afbdcdc1713fc4fe1a95aff9076249648abc0906020015b60405180910390a350505050565b5f6106e38266016bcc41e900006126a1565b60608151835114610c0b5781518351604051635b05999160e01b815260048101929092526024820152604401610891565b5f83516001600160401b03811115610c2557610c25611fd4565b604051908082528060200260200182016040528015610c4e578160200160208202803683370190505b5090505f5b8451811015610c9c57602080820286010151610c77906020808402870101516106b4565b828281518110610c8957610c896125fe565b6020908102919091010152600101610c53565b509392505050565b6001600160a01b0383163314801590610cc45750610cc283336110a5565b155b15610cf857335b60405163711bec9160e11b81526001600160a01b0391821660048201529084166024820152604401610891565b610b0c8383836114c5565b610d0b611508565b610d145f61153a565b565b3380610d2061107d565b6001600160a01b031614610d525760405163118cdaa760e01b81526001600160a01b0382166004820152602401610891565b610d5b8161153a565b50565b5f610d67611572565b805490915060ff600160401b82041615906001600160401b03165f81158015610d8d5750825b90505f826001600160401b03166001148015610da85750303b155b905081158015610db6575080155b15610dd45760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610dfe57845460ff60401b1916600160401b1785555b610e078761159a565b610e10336115ab565b610e186115bc565b610e225f3361131f565b506001600160a01b03861615610e3b57610e3b86610e8a565b8315610e8157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f610e9481611315565b816001600160a01b03163b5f03610ebe57604051633e07d28560e11b815260040160405180910390fd5b505f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005b546001600160a01b031692915050565b5f9182525f805160206128e7833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610f553383836115c4565b5050565b5f610f6381611315565b610f5582611660565b5f610f7682610bc8565b905080341015610fa257604051633644fa3b60e01b815260048101829052346024820152604401610891565b610fbd8360018460405180602001604052805f815250611699565b5f610fc882346126b8565b90508015610ad357610ad33382611439565b5f610fe63360016106b4565b9050818110156110135760405163cffb3e6960e01b81526004810183905260248101829052604401610891565b5f61101d83610bc8565b9050478181101561104b5760405163671123bf60e11b81526004810183905260248101829052604401610891565b6110573360018661124a565b610ad33383611439565b61106a82610a30565b61107381611315565b610ad383836113c0565b5f807f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00610f04565b6001600160a01b039182165f9081527f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c45016020908152604080832093909416825291909152205460ff1690565b336001600160a01b0386168114801590611112575061111086826110a5565b155b156111435760405163711bec9160e11b81526001600160a01b03808316600483015287166024820152604401610891565b610aaf86868686866116f4565b611158611508565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319166001600160a01b038316908117825561119c610ee0565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6001600160a01b03831633148015906111f557506111f383336110a5565b155b156112005733610ccb565b610b0c83838361124a565b5f6001600160e01b03198216636cdb3d1360e11b148061123b57506001600160e01b031982166303a24d0760e21b145b806106e357506106e382611777565b6001600160a01b03831661127257604051626a0d4560e21b81525f6004820152602401610891565b604080516001808252602082018590528183019081526060820184905260a082019092525f608082018181529192916112b0918791859085906117ab565b5050505050565b6001600160a01b0384166112e057604051632bfa23e760e11b81525f6004820152602401610891565b6001600160a01b03851661130857604051626a0d4560e21b81525f6004820152602401610891565b6112b085858585856117ab565b610d5b81336117fe565b5f5f805160206128e78339815191526113388484610f14565b6113b7575f848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905561136d3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019150506106e3565b5f9150506106e3565b5f5f805160206128e78339815191526113d98484610f14565b156113b7575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a460019150506106e3565b804710156114635760405163cf47918160e01b815247600482015260248101829052604401610891565b5f80836001600160a01b0316836040515f6040518083038185875af1925050503d805f81146114ad576040519150601f19603f3d011682016040523d82523d5f602084013e6114b2565b606091505b509150915081610ad357610ad381611837565b6001600160a01b0383166114ed57604051626a0d4560e21b81525f6004820152602401610891565b610b0c835f848460405180602001604052805f8152506117ab565b33611511610ee0565b6001600160a01b031614610d145760405163118cdaa760e01b8152336004820152602401610891565b7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0080546001600160a01b0319168155610f5582611860565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a006106e3565b6115a26118d0565b610d5b816118f5565b6115b36118d0565b610d5b81611906565b610d146118d0565b5f805160206128c78339815191526001600160a01b0383166115fa5760405162ced3e160e81b81525f6004820152602401610891565b6001600160a01b038481165f818152600184016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101610bba565b5f805160206128c78339815191527f88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c4502610b0c838261270f565b6001600160a01b0384166116c257604051632bfa23e760e11b81525f6004820152602401610891565b60408051600180825260208201869052818301908152606082018590526080820190925290610aaf5f878484876117ab565b6001600160a01b03841661171d57604051632bfa23e760e11b81525f6004820152602401610891565b6001600160a01b03851661174557604051626a0d4560e21b81525f6004820152602401610891565b60408051600180825260208201869052818301908152606082018590526080820190925290610e8187878484876117ab565b5f6001600160e01b03198216637965db0b60e01b14806106e357506301ffc9a760e01b6001600160e01b03198316146106e3565b6117b785858585611937565b6001600160a01b038416156112b057825133906001036117f057602084810151908401516117e9838989858589611943565b5050610aaf565b610aaf818787878787611a64565b6118088282610f14565b610f555760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610891565b8051156118475780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b6118d8611b4b565b610d1457604051631afcd79f60e31b815260040160405180910390fd5b6118fd6118d0565b610d5b81611660565b61190e6118d0565b6001600160a01b038116610d5257604051631e4fbdf760e01b81525f6004820152602401610891565b610ad384848484611b64565b6001600160a01b0384163b15610aaf5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061198790899089908890889088906004016127ca565b6020604051808303815f875af19250505080156119c1575060408051601f3d908101601f191682019092526119be9181019061280e565b60015b611a28573d8080156119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b606091505b5080515f03611a2057604051632bfa23e760e11b81526001600160a01b0386166004820152602401610891565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14610e8157604051632bfa23e760e11b81526001600160a01b0386166004820152602401610891565b6001600160a01b0384163b15610aaf5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611aa89089908990889088908890600401612829565b6020604051808303815f875af1925050508015611ae2575060408051601f3d908101601f19168201909252611adf9181019061280e565b60015b611b0f573d8080156119ee576040519150601f19603f3d011682016040523d82523d5f602084013e6119f3565b6001600160e01b0319811663bc197c8160e01b14610e8157604051632bfa23e760e11b81526001600160a01b0386166004820152602401610891565b5f611b54611572565b54600160401b900460ff16919050565b7f4a593662ee04d27b6a00ebb31be7fe0c102c2ade82a7c5d764f2df05dc4e2800611b9185858585611c6f565b6001600160a01b038516611c0f575f805b8451811015611bf45760208181028581018201519087018201515f9081529185905260408220805491928392611bd9908490612886565b90915550611be990508184612886565b925050600101611ba2565b5080826001015f828254611c089190612886565b9091555050505b6001600160a01b0384166112b0575f805b8451811015611c5b5760208181028581018201519087018201515f908152918590526040909120805482900390559190910190600101611c20565b506001820180549190910390555050505050565b805182515f805160206128c78339815191529114611cad5782518251604051635b05999160e01b815260048101929092526024820152604401610891565b335f5b8451811015611daf576020818102868101820151908601909101516001600160a01b03891615611d61575f828152602086815260408083206001600160a01b038d16845290915290205481811015611d3b576040516303dee4c560e01b81526001600160a01b038b166004820152602481018290526044810183905260648101849052608401610891565b5f838152602087815260408083206001600160a01b038e16845290915290209082900390555b6001600160a01b03881615611da5575f828152602086815260408083206001600160a01b038c16845290915281208054839290611d9f908490612886565b90915550505b5050600101611cb0565b508351600103611e2f5760208401515f906020850151909150866001600160a01b0316886001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611e20929190918252602082015260400190565b60405180910390a45050610aaf565b846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611e7e929190612899565b60405180910390a4505050505050565b6001600160a01b0381168114610d5b575f80fd5b5f8060408385031215611eb3575f80fd5b8235611ebe81611e8e565b946020939093013593505050565b6001600160e01b031981168114610d5b575f80fd5b5f60208284031215611ef1575f80fd5b8135611efc81611ecc565b9392505050565b5f60208284031215611f13575f80fd5b5035919050565b5f5b83811015611f34578181015183820152602001611f1c565b50505f910152565b5f8151808452611f53816020860160208601611f1a565b601f01601f19169290920160200192915050565b602081525f611efc6020830184611f3c565b5f805f805f60a08688031215611f8d575f80fd5b8535611f9881611e8e565b945060208601359350604086013592506060860135611fb681611e8e565b91506080860135611fc681611e8e565b809150509295509295909350565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561200a5761200a611fd4565b60405290565b604051601f8201601f191681016001600160401b038111828210171561203857612038611fd4565b604052919050565b5f6001600160401b0382111561205857612058611fd4565b5060051b60200190565b5f82601f830112612071575f80fd5b8135602061208661208183612040565b612010565b8083825260208201915060208460051b8701019350868411156120a7575f80fd5b602086015b848110156120c357803583529183019183016120ac565b509695505050505050565b5f6001600160401b038211156120e6576120e6611fd4565b50601f01601f191660200190565b5f82601f830112612103575f80fd5b8135612111612081826120ce565b818152846020838601011115612125575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215612155575f80fd5b853561216081611e8e565b9450602086013561217081611e8e565b935060408601356001600160401b038082111561218b575f80fd5b61219789838a01612062565b945060608801359150808211156121ac575f80fd5b6121b889838a01612062565b935060808801359150808211156121cd575f80fd5b506121da888289016120f4565b9150509295509295909350565b5f80604083850312156121f8575f80fd5b82359150602083013561220a81611e8e565b809150509250929050565b5f8060408385031215612226575f80fd5b82356001600160401b038082111561223c575f80fd5b818501915085601f83011261224f575f80fd5b8135602061225f61208183612040565b82815260059290921b8401810191818101908984111561227d575f80fd5b948201945b838610156122a457853561229581611e8e565b82529482019490820190612282565b965050860135925050808211156122b9575f80fd5b506122c685828601612062565b9150509250929050565b5f815180845260208085019450602084015f5b838110156122ff578151875295820195908201906001016122e3565b509495945050505050565b602081525f611efc60208301846122d0565b5f805f6060848603121561232e575f80fd5b833561233981611e8e565b925060208401356001600160401b0380821115612354575f80fd5b61236087838801612062565b93506040860135915080821115612375575f80fd5b5061238286828701612062565b9150509250925092565b5f806040838503121561239d575f80fd5b82356001600160401b038111156123b2575f80fd5b6123be858286016120f4565b925050602083013561220a81611e8e565b5f602082840312156123df575f80fd5b8135611efc81611e8e565b5f80604083850312156123fb575f80fd5b823561240681611e8e565b91506020830135801515811461220a575f80fd5b5f6020828403121561242a575f80fd5b81356001600160401b0381111561243f575f80fd5b61244b848285016120f4565b949350505050565b5f8060408385031215612464575f80fd5b823561246f81611e8e565b9150602083013561220a81611e8e565b5f805f805f60a08688031215612493575f80fd5b853561249e81611e8e565b945060208601356124ae81611e8e565b9350604086013592506060860135915060808601356001600160401b038111156124d6575f80fd5b6121da888289016120f4565b5f805f606084860312156124f4575f80fd5b83356124ff81611e8e565b95602085013595506040909401359392505050565b600181811c9082168061252857607f821691505b60208210810361254657634e487b7160e01b5f52602260045260245ffd5b50919050565b5f602080838503121561255d575f80fd5b82516001600160401b0380821115612573575f80fd5b9084019060608287031215612586575f80fd5b61258e611fe8565b82518281111561259c575f80fd5b83019150601f820187136125ae575f80fd5b81516125bc612081826120ce565b81815288868386010111156125cf575f80fd5b6125de82878301888701611f1a565b825250828401519381019390935250604090810151908201529392505050565b634e487b7160e01b5f52603260045260245ffd5b5f60a0820160018060a01b038089168452602088602086015287604086015260a0606086015282875180855260c0870191506020890194505f5b8181101561266a57855185168352948301949183019160010161264c565b5050858103608087015261267e8188611f3c565b9b9a5050505050505050505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176106e3576106e361268d565b818103818111156106e3576106e361268d565b601f821115610b0c57805f5260205f20601f840160051c810160208510156126f05750805b601f840160051c820191505b818110156112b0575f81556001016126fc565b81516001600160401b0381111561272857612728611fd4565b61273c816127368454612514565b846126cb565b602080601f83116001811461276f575f84156127585750858301515b5f19600386901b1c1916600185901b178555610aaf565b5f85815260208120601f198616915b8281101561279d5788860151825594840194600190910190840161277e565b50858210156127ba57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061280390830184611f3c565b979650505050505050565b5f6020828403121561281e575f80fd5b8151611efc81611ecc565b6001600160a01b0386811682528516602082015260a0604082018190525f90612854908301866122d0565b828103606084015261286681866122d0565b9050828103608084015261287a8185611f3c565b98975050505050505050565b808201808211156106e3576106e361268d565b604081525f6128ab60408301856122d0565b82810360208401526128bd81856122d0565b9594505050505056fe88be536d5240c274a3b1d3a1be54482fd9caa294f08c62a7cde569f49a3c450002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a2646970667358221220705f2a39cbbda6054e9ea513adb54ebab3bfe8485e890c135b7b88701047a4c164736f6c63430008170033