74 txs
1.7k calls
constructor
constructor(address _initialOwner, string _name, string _symbol, string _baseUri)
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
dao
viewfunction dao() view returns (address)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
holderNFTs
viewfunction holderNFTs(address account) view returns (uint256[])
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isBlackListAddress
viewfunction isBlackListAddress(address account) view returns (bool)
isBlackListNFT
viewfunction isBlackListNFT(uint256 nftId) view returns (bool)
isDelegate
viewfunction isDelegate(address account) view returns (bool)
isElectionPeriod
viewfunction isElectionPeriod() 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)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
createHolders
nonpayablefunction createHolders(address[] recipients, uint256[] nftIds)
mint
nonpayablefunction mint()
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setAddresses
nonpayablefunction setAddresses(address daoAddress)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string baseURI)
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)
BatchMetadataUpdate
event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId)
MetadataUpdate
event MetadataUpdate(uint256 _tokenId)
MintNFT
event MintNFT(uint256 tokenId)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetAddress
event SetAddress(address daoAdress)
SetUri
event SetUri()
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60806040523480156200005e5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b5060405162002aed38038062002aed83398101604081905262000081916200032f565b8383836000620000928382620004bd565b506001620000a18282620004bd565b5050506001600160a01b038116620000d357604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000de81620000fd565b506001600855600c620000f28282620004bd565b505050505062000589565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b80516001600160a01b0381168114620001b757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620001ef578181015183820152602001620001d5565b50506000910152565b600082601f8301126200025e5760405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b81516001600160401b03808211156200027b576200027b620001bc565b604051601f8301601f19908116603f01168101908282118183101715620002a657620002a6620001bc565b81604052838152866020858801011115620003125760405162461bcd60e51b815260206004820152602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b60648201529250608483fd5b62000325846020830160208901620001d2565b9695505050505050565b60008060008060808587031215620003915760405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b6200039c856200019f565b60208601519094506001600160401b0380821115620003bf57620003bf6200014f565b620003cd88838901620001f8565b94506040870151915080821115620003e957620003e96200014f565b620003f788838901620001f8565b935060608701519150808211156200041357620004136200014f565b506200042287828801620001f8565b91505092959194509250565b600181811c908216806200044357607f821691505b6020821081036200046457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004b857600081815260208120601f850160051c81016020861015620004935750805b601f850160051c820191505b81811015620004b4578281556001016200049f565b5050505b505050565b81516001600160401b03811115620004d957620004d9620001bc565b620004f181620004ea84546200042e565b846200046a565b602080601f831160018114620005295760008415620005105750858301515b600019600386901b1c1916600185901b178555620004b4565b600085815260208120601f198616915b828110156200055a5788860151825594840194600190910190840162000539565b5085821015620005795787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61255480620005996000396000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106102115760003560e01c80636352211e1161014657806395d89b41116100e4578063b88d4fde116100be578063b88d4fde14610452578063c87b56dd14610465578063e985e9c514610478578063f2fde38b1461048b57610211565b806395d89b411461042f578063a22cb46514610437578063abf2e01c1461044a57610211565b8063758e137311610120578063758e1373146103d857806381d3c435146103f85780638d4458be1461040b5780638da5cb5b1461041e57610211565b80636352211e146103aa57806370a08231146103bd578063715018a6146103d057610211565b806318160ddd116101b357806342842e0e1161018d57806342842e0e1461035e57806342966c6814610371578063535133a21461038457806355f804b31461039757610211565b806318160ddd1461032157806323b872dd146103385780634162169f1461034b57610211565b8063081812fc116101ef578063081812fc146102c6578063095ea7b3146102f15780631201fbf7146103065780631249c58b1461031957610211565b806301ffc9a71461027657806306fdde031461029e57806307779627146102b3575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b610289610284366004611c63565b61049e565b60405190151581526020015b60405180910390f35b6102a66104af565b6040516102959190611cda565b6102896102c1366004611d09565b610541565b6102d96102d4366004611d27565b610610565b6040516001600160a01b039091168152602001610295565b6103046102ff366004611d43565b610639565b005b610304610314366004611efe565b610648565b6103046107a9565b61032a600b5481565b604051908152602001610295565b610304610346366004611fcd565b6108d1565b6009546102d9906001600160a01b031681565b61030461036c366004611fcd565b610b33565b61030461037f366004611d27565b610b4e565b610289610392366004611d09565b610cb3565b6103046103a53660046120b4565b610ce6565b6102d96103b8366004611d27565b610d78565b61032a6103cb366004611d09565b610d83565b610304610dcb565b6103eb6103e6366004611d09565b610ddf565b6040516102959190612106565b610304610406366004611d09565b610e4b565b610289610419366004611d27565b610f07565b6007546001600160a01b03166102d9565b6102a6610f39565b610304610445366004612158565b610f48565b610289610f53565b610304610460366004612192565b611025565b6102a6610473366004611d27565b611042565b610289610486366004612217565b6110ce565b610304610499366004611d09565b6110fc565b60006104a982611137565b92915050565b6060600080546104be9061224d565b80601f01602080910402602001604051908101604052809291908181526020018280546104ea9061224d565b80156105375780601f1061050c57610100808354040283529160200191610537565b820191906000526020600020905b81548152906001019060200180831161051a57829003601f168201915b5050505050905090565b600954604051630777962760e01b81526001600160a01b03838116600483015260009216906307779627906024015b60206040518083038186803b1580156105d85760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190612287565b600061061b8261115c565b506000828152600460205260409020546001600160a01b03166104a9565b610644828233611195565b5050565b6106506111a2565b80518251146106b45760405162461bcd60e51b815260206004820152602560248201527f434d4c453a417272617973206d7573742068617665207468652073616d65206c6044820152640cadccee8d60db1b60648201526084015b60405180910390fd5b600d5460ff16156107135760405162461bcd60e51b815260206004820152602360248201527f434d4c453a4e4654732068617665206265656e206372656174656420616c726560448201526261647960e81b60648201526084016106ab565b60005b825181101561079457610782838281518110610734576107346122a7565b602002602001015183838151811061074e5761074e6122a7565b60200260200101516001600160a01b039091166000908152600a602090815260408220805460018101825590835291200155565b8061078c816122d3565b915050610716565b5051600b5550600d805460ff19166001179055565b336000908152600a6020526040902080546108065760405162461bcd60e51b815260206004820152601960248201527f434d4c453a596f752068617665206e6f7420676f74204e46540000000000000060448201526064016106ab565b6000805b8254811015610883576000838281548110610827576108276122a7565b60009182526020822001549150610853826000908152600260205260409020546001600160a01b031690565b6001600160a01b0316036108705761086b33826111cf565b600192505b508061087b816122d3565b91505061080a565b50806106445760405162461bcd60e51b815260206004820181905260248201527f434d4c453a416c6c204e4654732061726520616c7265616479206d696e74656460448201526064016106ab565b6108d961128a565b6108e1610f53565b156109545760405162461bcd60e51b815260206004820152603960248201527f434d4c453a43616e206e6f74207472616e7366657220796f7572204e4654206460448201527f7572696e672074686520656c656374696f6e20706572696f640000000000000060648201526084016106ab565b61095d33610541565b156109bc5760405162461bcd60e51b815260206004820152602960248201527f434d4c453a44656c6567617465732063616e6e6f74207472616e73666572207460448201526868656972204e46547360b81b60648201526084016106ab565b6109c581610f07565b15610a0c5760405162461bcd60e51b815260206004820152601760248201527610d353114e951a1a5cc8139195081a5cc81b1bd8dad959604a1b60448201526064016106ab565b610a1533610cb3565b15610a625760405162461bcd60e51b815260206004820152601f60248201527f434d4c453a546869732077616c6c657420697320626c61636b6c69737465640060448201526064016106ab565b610a6b83610cb3565b15610ab85760405162461bcd60e51b815260206004820152601f60248201527f434d4c453a46726f6d2077616c6c657420697320626c61636b6c69737465640060448201526064016106ab565b610ac182610cb3565b15610b0e5760405162461bcd60e51b815260206004820152601d60248201527f434d4c453a546f2077616c6c657420697320626c61636b6c697374656400000060448201526064016106ab565b610b198383836112b4565b610b24838383611339565b610b2e6001600855565b505050565b610b2e83838360405180602001604052806000815250611025565b610b5661128a565b610b5e610f53565b15610bc75760405162461bcd60e51b815260206004820152603360248201527f434d4c453a43616e206e6f74206275726e20746f6b656e20647572696e67207460448201527234329032b632b1ba34b7b7103832b934b7b21760691b60648201526084016106ab565b610bd081610f07565b15610c175760405162461bcd60e51b815260206004820152601760248201527610d353114e951a1a5cc8139195081a5cc81b1bd8dad959604a1b60448201526064016106ab565b806103e8141580610c2a5750806107d014155b610c765760405162461bcd60e51b815260206004820152601d60248201527f4e46543a424f5353204e46542063616e6e6f74206265206275726e656400000060448201526064016106ab565b610c7f81611371565b600b8054906000610c8f836122ec565b9190505550610ca6610c9e3390565b600083611339565b610cb06001600855565b50565b6009546040516329a899d160e11b81526001600160a01b038381166004830152600092169063535133a290602401610570565b610cee6111a2565b6000815111610d3f5760405162461bcd60e51b815260206004820152601c60248201527f4e46543a42617365205552492063616e6e6f7420626520656d7074790000000060448201526064016106ab565b600c610d4b8282612351565b506040517f63c6b093d15286ab4e89470ad699c364b4e634c4b595c72d30b21768cc0b71f690600090a150565b60006104a98261115c565b60006001600160a01b038216610daf576040516322718ad960e21b8152600060048201526024016106ab565b506001600160a01b031660009081526003602052604090205490565b610dd36111a2565b610ddd600061137d565b565b6001600160a01b0381166000908152600a6020908152604091829020805483518184028101840190945280845260609392830182828015610e3f57602002820191906000526020600020905b815481526020019060010190808311610e2b575b50505050509050919050565b610e536111a2565b6001600160a01b038116610eb35760405162461bcd60e51b815260206004820152602160248201527f434d4c453a44414f20616464726573732063616e206e6f74206265207a65726f6044820152601760f91b60648201526084016106ab565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f32f56b2a4d53f6243e918426194265055bd88ec7003f73f82d94f4217907faaf9060200160405180910390a150565b6009546040516346a22c5f60e11b8152600481018390526000916001600160a01b031690638d4458be90602401610570565b6060600180546104be9061224d565b6106443383836113cf565b60095460408051632afcb80760e21b815290516000926001600160a01b03169163abf2e01c916004808301926020929190829003018186803b158015610fe85760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa158015610ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110209190612287565b905090565b6110308484846108d1565b61103c8484848461146e565b50505050565b6060600061104f83610d78565b6001600160a01b03160361109c5760405162461bcd60e51b815260206004820152601460248201527310d353114e955b9adb9bdddb881d1bdad95b925960621b60448201526064016106ab565b600c6110a7836115f6565b6040516020016110b8929190612411565b6040516020818303038152906040529050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6111046111a2565b6001600160a01b03811661112e57604051631e4fbdf760e01b8152600060048201526024016106ab565b610cb08161137d565b60006001600160e01b03198216632483248360e11b14806104a957506104a982611689565b6000818152600260205260408120546001600160a01b0316806104a957604051637e27328960e01b8152600481018490526024016106ab565b610b2e83838360016116d9565b6007546001600160a01b03163314610ddd5760405163118cdaa760e01b81523360048201526024016106ab565b6103e881101580156111e357506104e28111155b806111fd57506107d081101580156111fd57506108ca8111155b6112495760405162461bcd60e51b815260206004820152601e60248201527f434d4c453a546f6b656e204944206f7574206f66207468652072616e6765000060448201526064016106ab565b61125382826117df565b6040518181527f2cc161d398589ff5526cd6b429338ae827d66c48171d3dbaeac9a7bf822935bd9060200160405180910390a15050565b6002600854036112ad57604051633ee5aeb560e01b815260040160405180910390fd5b6002600855565b6001600160a01b0382166112de57604051633250574960e11b8152600060048201526024016106ab565b60006112eb838333611844565b9050836001600160a01b0316816001600160a01b03161461103c576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016106ab565b611343838261193d565b6001600160a01b03919091166000908152600a60209081526040822080546001810182559083529120015550565b61064460008233611844565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821661140157604051630b61174360e31b81526001600160a01b03831660048201526024016106ab565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561103c57604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906114b0903390889087908790600401612498565b602060405180830381600087803b15801561151a5760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505af192505050801561154a575060408051601f3d908101601f19168201909252611547918101906124d5565b60015b6115b3573d808015611578576040519150601f19603f3d011682016040523d82523d6000602084013e61157d565b606091505b5080516000036115ab57604051633250574960e11b81526001600160a01b03851660048201526024016106ab565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146115ef57604051633250574960e11b81526001600160a01b03851660048201526024016106ab565b5050505050565b6060600061160383611a0b565b600101905060008167ffffffffffffffff81111561162357611623611dc9565b6040519080825280601f01601f19166020018201604052801561164d576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461165757509392505050565b60006001600160e01b031982166380ac58cd60e01b14806116ba57506001600160e01b03198216635b5e139f60e01b145b806104a957506301ffc9a760e01b6001600160e01b03198316146104a9565b80806116ed57506001600160a01b03821615155b156117af5760006116fd8461115c565b90506001600160a01b038316158015906117295750826001600160a01b0316816001600160a01b031614155b801561173c575061173a81846110ce565b155b156117655760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016106ab565b81156117ad5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821661180957604051633250574960e11b8152600060048201526024016106ab565b600061181783836000611844565b90506001600160a01b03811615610b2e576040516339e3563760e11b8152600060048201526024016106ab565b6000828152600260205260408120546001600160a01b039081169083161561187157611871818486611ae3565b6001600160a01b038116156118af5761188e6000856000806116d9565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b038516156118de576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6001600160a01b0382166000908152600a60205260408120905b815481101561103c5782828281548110611973576119736122a7565b9060005260206000200154036119f95781548290611993906001906124f5565b815481106119a3576119a36122a7565b90600052602060002001548282815481106119c0576119c06122a7565b9060005260206000200181905550818054806119de576119de612508565b6001900381819060005260206000200160009055905561103c565b80611a03816122d3565b915050611957565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611a4a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611a76576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611a9457662386f26fc10000830492506010015b6305f5e1008310611aac576305f5e100830492506008015b6127108310611ac057612710830492506004015b60648310611ad2576064830492506002015b600a83106104a95760010192915050565b611aee838383611b47565b610b2e576001600160a01b038316611b1c57604051637e27328960e01b8152600481018290526024016106ab565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016106ab565b60006001600160a01b03831615801590611ba55750826001600160a01b0316846001600160a01b03161480611b815750611b8184846110ce565b80611ba557506000828152600460205260409020546001600160a01b038481169116145b949350505050565b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b6001600160e01b031981168114610cb057600080fd5b600060208284031215611c7857611c78611bad565b8135611c8381611c4d565b9392505050565b60005b83811015611ca5578181015183820152602001611c8d565b50506000910152565b60008151808452611cc6816020860160208601611c8a565b601f01601f19169290920160200192915050565b602081526000611c836020830184611cae565b80356001600160a01b0381168114611d0457600080fd5b919050565b600060208284031215611d1e57611d1e611bad565b611c8382611ced565b600060208284031215611d3c57611d3c611bad565b5035919050565b60008060408385031215611d5957611d59611bad565b611d6283611ced565b946020939093013593505050565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e0857611e08611dc9565b604052919050565b600067ffffffffffffffff821115611e2a57611e2a611dc9565b5060051b60200190565b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b6064820152608481fd5b600082601f830112611ea157611ea1611d70565b81356020611eb6611eb183611e10565b611ddf565b82815260059290921b84018101918181019086841115611ed857611ed8611e34565b8286015b84811015611ef35780358352918301918301611edc565b509695505050505050565b60008060408385031215611f1457611f14611bad565b823567ffffffffffffffff80821115611f2f57611f2f611bfd565b818501915085601f830112611f4657611f46611d70565b81356020611f56611eb183611e10565b82815260059290921b84018101918181019089841115611f7857611f78611e34565b948201945b83861015611f9d57611f8e86611ced565b82529482019490820190611f7d565b96505086013592505080821115611fb657611fb6611bfd565b50611fc385828601611e8d565b9150509250929050565b600080600060608486031215611fe557611fe5611bad565b611fee84611ced565b9250611ffc60208501611ced565b9150604084013590509250925092565b600067ffffffffffffffff83111561202657612026611dc9565b612039601f8401601f1916602001611ddf565b905082815283838301111561209d5760405162461bcd60e51b815260206004820152602760248201527f414249206465636f64696e673a20696e76616c69642062797465206172726179604482015266040d8cadccee8d60cb1b6064820152608481fd5b828260208301376000602084830101529392505050565b6000602082840312156120c9576120c9611bad565b813567ffffffffffffffff8111156120e3576120e3611bfd565b8201601f810184136120f7576120f7611d70565b611ba58482356020840161200c565b6020808252825182820181905260009190848201906040850190845b8181101561213e57835183529284019291840191600101612122565b50909695505050505050565b8015158114610cb057600080fd5b6000806040838503121561216e5761216e611bad565b61217783611ced565b915060208301356121878161214a565b809150509250929050565b600080600080608085870312156121ab576121ab611bad565b6121b485611ced565b93506121c260208601611ced565b925060408501359150606085013567ffffffffffffffff8111156121e8576121e8611bfd565b8501601f810187136121fc576121fc611d70565b61220b8782356020840161200c565b91505092959194509250565b6000806040838503121561222d5761222d611bad565b61223683611ced565b915061224460208401611ced565b90509250929050565b600181811c9082168061226157607f821691505b60208210810361228157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561229c5761229c611bad565b8151611c838161214a565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016122e5576122e56122bd565b5060010190565b6000816122fb576122fb6122bd565b506000190190565b601f821115610b2e57600081815260208120601f850160051c8101602086101561232a5750805b601f850160051c820191505b8181101561234957828155600101612336565b505050505050565b815167ffffffffffffffff81111561236b5761236b611dc9565b61237f81612379845461224d565b84612303565b602080601f8311600181146123b4576000841561239c5750858301515b600019600386901b1c1916600185901b178555612349565b600085815260208120601f198616915b828110156123e3578886015182559484019460019091019084016123c4565b50858210156124015787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600080845461241f8161224d565b60018281168015612437576001811461244c5761247b565b60ff198416875282151583028701945061247b565b8860005260208060002060005b858110156124725781548a820152908401908201612459565b50505082870194505b50505050835161248f818360208801611c8a565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906124cb90830184611cae565b9695505050505050565b6000602082840312156124ea576124ea611bad565b8151611c8381611c4d565b818103818111156104a9576104a96122bd565b634e487b7160e01b600052603160045260246000fdfea26469706673582212208698e1a10a14e68f6319908aad91a073fb6e7f73f00664e6fc14e5f825a9b5c864736f6c6343000814003300000000000000000000000073395dd2954333fe546414679b931fb08c84ae81000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001e43727970746f204d6f6e73746572204c696d697465642045646974696f6e00000000000000000000000000000000000000000000000000000000000000000004434d4c4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002268747470733a2f2f6e66742e636d6c657465616d2e636f6d2f6d657461646174612f000000000000000000000000000000000000000000000000000000000000