0 txs
313 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
calcPrice
viewfunction calcPrice(uint256 supply, uint256 amount) view returns (uint256)
creatorFeeRatio
viewfunction creatorFeeRatio() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
exists
viewfunction exists(uint256 id) view returns (bool)
FEE_RATIO_DENOMINATOR
viewfunction FEE_RATIO_DENOMINATOR() view returns (uint256)
getBuyPrice
viewfunction getBuyPrice(uint256 workId, uint256 amount) view returns (tuple)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSellPrice
viewfunction getSellPrice(uint256 workId, uint256 amount) view returns (tuple)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
MANAGER_ROLE
viewfunction MANAGER_ROLE() view returns (bytes32)
paused
viewfunction paused() view returns (bool)
paymentToken
viewfunction paymentToken() view returns (address)
projectFeeRatio
viewfunction projectFeeRatio() view returns (uint256)
projectFeeRecipient
viewfunction projectFeeRecipient(uint256) view returns (address)
protocolFeeRatio
viewfunction protocolFeeRatio() view returns (uint256)
protocolFeeRecipient
viewfunction protocolFeeRecipient() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
SIGNER_ROLE
viewfunction SIGNER_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalSupply
viewfunction totalSupply(uint256 id) view returns (uint256)
transferWhitelisted
viewfunction transferWhitelisted(address) view returns (bool)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
uri
viewfunction uri(uint256) view returns (string)
workCreator
viewfunction workCreator(uint256) view returns (address)
workProjectId
viewfunction workProjectId(uint256) view returns (uint256)
buyKeys
payablefunction buyKeys(address trader, uint256 workId, uint256 amount, uint256 maxPriceAfterFee) payable
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address admin, address signer, address recipient, string uri)
migrateBatchBurn
nonpayablefunction migrateBatchBurn(address[] from, uint256[] workIds, uint256[] amounts)
migrateBatchMint
nonpayablefunction migrateBatchMint(address[] to, uint256[] workIds, uint256[] amounts)
migrateBatchPublish
nonpayablefunction migrateBatchPublish(uint256[] workIds, address[] creators, uint256 projectId)
publishAndBuyKeys
payablefunction publishAndBuyKeys(address creator, uint256 workId, uint256 amount, uint256 projectId, uint256 deadline, address signer, bytes signature) payable
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
sellKeys
nonpayablefunction sellKeys(uint256 workId, uint256 amount, uint256 minPriceAfterFee)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setFeeRatio
nonpayablefunction setFeeRatio(uint256 _protocolFeeRatio, uint256 _projectFeeRatio, uint256 _creatorFeeRatio)
setPaused
nonpayablefunction setPaused(bool _paused)
setProjectFeeRecipient
nonpayablefunction setProjectFeeRecipient(uint256 projectId, address _projectFeeRecipient)
setProtocolFeeRecipient
nonpayablefunction setProtocolFeeRecipient(address _protocolFeeRecipient)
setTransferWhitelisted
nonpayablefunction setTransferWhitelisted(address addr, bool whitelisted)
setURI
nonpayablefunction setURI(string uri)
setWorkProjectId
nonpayablefunction setWorkProjectId(uint256 workId, uint256 projectId)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
DistributeFee
event DistributeFee(address indexed trader, address indexed creator, uint256 indexed workId, bool isBuy, uint256 creatorFeeAmount, address projectFeeRecipient, uint256 projectFeeAmount, address protocolFeeRecipient, uint256 protocolFeeAmount)
Initialized
event Initialized(uint8 version)
Paused
event Paused(address account)
Publish
event Publish(address indexed creator, uint256 workId, uint256 projectId)
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)
SetFeeRatio
event SetFeeRatio(uint256 protocolFeeRatio, uint256 projectFeeRatio, uint256 creatorFeeRatio)
SetProjectFeeRecipient
event SetProjectFeeRecipient(uint256 projectId, address recipient)
SetProtocolFeeRecipient
event SetProtocolFeeRecipient(address recipient)
Trade
event Trade(address indexed trader, address indexed creator, uint256 indexed workId, bool isBuy, uint256 keyAmount, uint256 price, uint256 keySupplyAfterTrade)
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)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
URI
event URI(string value, uint256 indexed id)
errors
No errors.
creation bytecode
0x60a06040523060805234801562000014575f80fd5b506200001f62000025565b620000e3565b5f54610100900460ff1615620000915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614620000e1575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051614a85620001185f395f8181610cf001528181610d3001528181610ef401528181610f340152610fc10152614a855ff3fe6080604052600436106102c1575f3560e01c80637970f8d91161016f578063b98665ea116100d8578063d00b328e11610092578063e985e9c51161006d578063e985e9c514610916578063ec87621c1461095d578063f242432a1461097d578063f72c0d8b1461099c575f80fd5b8063d00b328e146108c5578063d547741f146108d8578063e521cb92146108f7575f80fd5b8063b98665ea14610808578063ba4eff321461081d578063bc81829f1461083c578063bd85b0391461085b578063c157253d14610887578063cca1bab6146108a6575f80fd5b8063a217fddf11610129578063a217fddf1461074a578063a22cb4651461075d578063a792b2011461077c578063a9eaef251461079b578063acd7cf13146107ba578063b90fb5a9146107e9575f80fd5b80637970f8d9146106395780637a27d9f6146106655780637df83ee21461067b57806391d148541461068e5780639477d85d146106ad578063a1ebf35d14610717575f80fd5b80633659cfe61161022b578063557fd97b116101e557806364df049e116101c057806364df049e146105c557806365e8e4f4146105e55780636a2e9ba6146106045780636d3839bb1461061a575f80fd5b8063557fd97b146105625780635c975abb14610578578063622899e014610590575f80fd5b80633659cfe61461048d57806346fdc6ff146104ac5780634e1273f4146104e15780634f1ef2861461050d5780634f558e791461052057806352d1902d1461054e575f80fd5b80631be2ece01161027c5780631be2ece0146103b8578063248a9ca3146103d75780632eb2c2d6146104055780632f2ff15d146104245780633013ce291461044357806336568abe1461046e575f80fd5b8062fdd58e146102cc57806301ffc9a7146102fe57806302fe53051461032d57806304a26f801461034e5780630e89341c1461036d57806316c38b3c14610399575f80fd5b366102c857005b5f80fd5b3480156102d7575f80fd5b506102eb6102e63660046139f0565b6109cf565b6040519081526020015b60405180910390f35b348015610309575f80fd5b5061031d610318366004613a2d565b610a68565b60405190151581526020016102f5565b348015610338575f80fd5b5061034c610347366004613a85565b610a72565b005b348015610359575f80fd5b5061034c610368366004613ad2565b610acc565b348015610378575f80fd5b5061038c610387366004613b03565b610b0f565b6040516102f59190613b67565b3480156103a4575f80fd5b5061034c6103b3366004613b79565b610ba1565b3480156103c3575f80fd5b5061034c6103d2366004613b92565b610bd2565b3480156103e2575f80fd5b506102eb6103f1366004613b03565b5f90815260c9602052604090206001015490565b348015610410575f80fd5b5061034c61041f366004613cfa565b610bfc565b34801561042f575f80fd5b5061034c61043e366004613d9c565b610c48565b34801561044e575f80fd5b506104565f81565b6040516001600160a01b0390911681526020016102f5565b348015610479575f80fd5b5061034c610488366004613d9c565b610c6c565b348015610498575f80fd5b5061034c6104a7366004613dbd565b610ce6565b3480156104b7575f80fd5b506104566104c6366004613b03565b6101c76020525f90815260409020546001600160a01b031681565b3480156104ec575f80fd5b506105006104fb366004613dd6565b610dc3565b6040516102f59190613ed3565b61034c61051b366004613ee5565b610eea565b34801561052b575f80fd5b5061031d61053a366004613b03565b5f90815261012d6020526040902054151590565b348015610559575f80fd5b506102eb610fb5565b34801561056d575f80fd5b506102eb6101c45481565b348015610583575f80fd5b506101915460ff1661031d565b34801561059b575f80fd5b506104566105aa366004613b03565b6101ca6020525f90815260409020546001600160a01b031681565b3480156105d0575f80fd5b506101c654610456906001600160a01b031681565b3480156105f0575f80fd5b5061034c6105ff366004613f25565b611067565b34801561060f575f80fd5b506102eb6101c55481565b348015610625575f80fd5b5061034c610634366004613fe2565b611133565b348015610644575f80fd5b506102eb610653366004613b03565b6101c96020525f908152604090205481565b348015610670575f80fd5b506102eb6101c35481565b61034c610689366004614074565b61120a565b348015610699575f80fd5b5061031d6106a8366004613d9c565b611583565b3480156106b8575f80fd5b506106cc6106c7366004613b92565b6115ad565b6040516102f591905f60c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b348015610722575f80fd5b506102eb7fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7081565b348015610755575f80fd5b506102eb5f81565b348015610768575f80fd5b5061034c610777366004613ad2565b6115dd565b348015610787575f80fd5b5061034c6107963660046140f8565b6115e8565b3480156107a6575f80fd5b506102eb6107b5366004613b92565b6117fb565b3480156107c5575f80fd5b5061031d6107d4366004613dbd565b6101c86020525f908152604090205460ff1681565b3480156107f4575f80fd5b5061034c6108033660046140f8565b61188e565b348015610813575f80fd5b506102eb61271081565b348015610828575f80fd5b5061034c610837366004614121565b61196d565b348015610847575f80fd5b5061034c610856366004613fe2565b611a48565b348015610866575f80fd5b506102eb610875366004613b03565b5f90815261012d602052604090205490565b348015610892575f80fd5b506106cc6108a1366004613b92565b611b06565b3480156108b1575f80fd5b5061034c6108c0366004613d9c565b611b30565b61034c6108d336600461418e565b611bae565b3480156108e3575f80fd5b5061034c6108f2366004613d9c565b611ddb565b348015610902575f80fd5b5061034c610911366004613dbd565b611dff565b348015610921575f80fd5b5061031d6109303660046141c4565b6001600160a01b039182165f90815260fc6020908152604080832093909416825291909152205460ff1690565b348015610968575f80fd5b506102eb5f80516020614a0983398151915281565b348015610988575f80fd5b5061034c6109973660046141ec565b611e6c565b3480156109a7575f80fd5b506102eb7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b5f6001600160a01b038316610a3e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b505f81815260fb602090815260408083206001600160a01b03861684529091529020545b92915050565b5f610a6282611eb1565b5f80516020614a09833981519152610a8981611ef0565b610ac783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611efa92505050565b505050565b5f80516020614a09833981519152610ae381611ef0565b506001600160a01b03919091165f9081526101c860205260409020805460ff1916911515919091179055565b606060fd8054610b1e9061424b565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a9061424b565b8015610b955780601f10610b6c57610100808354040283529160200191610b95565b820191905f5260205f20905b815481529060010190602001808311610b7857829003601f168201915b50505050509050919050565b5f80516020614a09833981519152610bb881611ef0565b8115610bca57610bc6611f06565b5050565b610bc6611f61565b5f80516020614a09833981519152610be981611ef0565b505f9182526101c9602052604090912055565b6001600160a01b038516331480610c185750610c188533610930565b610c345760405162461bcd60e51b8152600401610a3590614283565b610c418585858585611f9b565b5050505050565b5f82815260c96020526040902060010154610c6281611ef0565b610ac78383612184565b6001600160a01b0381163314610cdc5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610a35565b610bc68282612209565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d2e5760405162461bcd60e51b8152600401610a35906142d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d765f805160206149e9833981519152546001600160a01b031690565b6001600160a01b031614610d9c5760405162461bcd60e51b8152600401610a359061431d565b610da58161226f565b604080515f80825260208201909252610dc091839190612299565b50565b60608151835114610e285760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610a35565b5f83516001600160401b03811115610e4257610e42613bb2565b604051908082528060200260200182016040528015610e6b578160200160208202803683370190505b5090505f5b8451811015610ee257610eb5858281518110610e8e57610e8e614369565b6020026020010151858381518110610ea857610ea8614369565b60200260200101516109cf565b828281518110610ec757610ec7614369565b6020908102919091010152610edb81614391565b9050610e70565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f325760405162461bcd60e51b8152600401610a35906142d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f7a5f805160206149e9833981519152546001600160a01b031690565b6001600160a01b031614610fa05760405162461bcd60e51b8152600401610a359061431d565b610fa98261226f565b610bc682826001612299565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110545760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610a35565b505f805160206149e98339815191525b90565b5f54610100900460ff161580801561108557505f54600160ff909116105b8061109e5750303b15801561109e57505f5460ff166001145b6110ba5760405162461bcd60e51b8152600401610a35906143a9565b5f805460ff1916600117905580156110db575f805461ff0019166101001790555b6110e785858585612403565b8015610c41575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050505050565b5f80516020614a0983398151915261114a81611ef0565b858414801561115857508382145b6111745760405162461bcd60e51b8152600401610a35906143f7565b5f5b86811015611200576111ee88888381811061119357611193614369565b90506020020160208101906111a89190613dbd565b8787848181106111ba576111ba614369565b905060200201358686858181106111d3576111d3614369565b9050602002013560405180602001604052805f81525061257d565b806111f881614391565b915050611176565b5050505050505050565b611212612693565b6001600160a01b03881633146112765760405162461bcd60e51b815260206004820152602360248201527f46616e73437265617465436f72653a206e6f7420612076616c696420637265616044820152623a37b960e91b6064820152608401610a35565b6112a07fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7084611583565b6112f75760405162461bcd60e51b815260206004820152602260248201527f46616e73437265617465436f72653a206e6f7420612076616c6964207369676e60448201526132b960f11b6064820152608401610a35565b834211156113515760405162461bcd60e51b815260206004820152602160248201527f46616e73437265617465436f72653a20646561646c696e6520657863656564656044820152601960fa1b6064820152608401610a35565b5f8781526101ca60205260409020546001600160a01b0316156113c05760405162461bcd60e51b815260206004820152602160248201527f46616e73437265617465436f72653a20616c7265616479207075626c697368656044820152601960fa1b6064820152608401610a35565b6040516bffffffffffffffffffffffff1960608a811b82166020840152603483018a9052605483018890526074830187905246609484015230901b1660b48201525f9060c801604051602081830303815290604052805190602001209050611492611457827f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c91909152603c902090565b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506126dc92505050565b6001600160a01b0316846001600160a01b0316146114fc5760405162461bcd60e51b815260206004820152602160248201527f46616e73437265617465436f72653a20696e76616c6964207369676e617475726044820152606560f81b6064820152608401610a35565b5f8881526101ca6020908152604080832080546001600160a01b0319166001600160a01b038e169081179091556101c983529281902089905580518b81529182018990527fbbe3002e8a0883b7ffe29333322f7f53da03e7268bc5877a65fcd9c890875357910160405180910390a26115788989895f19611bae565b505050505050505050565b5f91825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6115b56139a5565b6115d6836115cf855f90815261012d602052604090205490565b845f6126f6565b9392505050565b610bc633838361283c565b6115f061291b565b6115f8612693565b5f8381526101ca60205260409020546001600160a01b03168061162d5760405162461bcd60e51b8152600401610a359061443d565b5f84815261012d602052604081205490611649868387846126f6565b9050838160200151101561166f5760405162461bcd60e51b8152600401610a3590614483565b61167a338787612976565b85836001600160a01b0316336001600160a01b03167f632d06b9857b5ddf4ffa4cbe21834f34e3ff276315f165beb00da191b75e89595f89865f01518b896116c291906144c7565b604080519415158552602085019390935291830152606082015260800160405180910390a46116f5816020015133612b03565b611703816040015184612b03565b60808101516101c65461171f91906001600160a01b0316612b03565b60608101515f9015611774575060a08101515f9081526101c760205260409020546001600160a01b0316806117665760405162461bcd60e51b8152600401610a35906144da565b611774826060015182612b03565b6040828101516060808501516101c65460808088015186515f815260208101969096526001600160a01b0388811687890152948601939093529083169084015260a08301529151899287169133917f0c46c4a8f0926f925a2816f7d2cdb7b685ff213c27505a003e138fff76b93e799181900360c00190a450505050610ac7600161015f55565b5f80831561182a576002846118116001826144c7565b61181b9190614525565b611825919061453c565b61182c565b5f5b90505f600261183b858761455b565b6001611847878961455b565b61185191906144c7565b61185b9190614525565b611865919061453c565b90505f61187283836144c7565b905061188465b5e620f4800082614525565b9695505050505050565b5f80516020614a098339815191526118a581611ef0565b612710826118b3858761455b565b6118bd919061455b565b106119145760405162461bcd60e51b815260206004820152602160248201527f46616e73437265617465436f72653a20696e76616c69642066656520726174696044820152606f60f81b6064820152608401610a35565b6101c38490556101c48390556101c582905560408051858152602081018590529081018390527f52046504692624816a3d8fcb161011ec9f7d58c63cf63b7c9fe8ac6a0e71b08a9060600160405180910390a150505050565b5f80516020614a0983398151915261198481611ef0565b8483146119a35760405162461bcd60e51b8152600401610a35906143f7565b5f5b85811015611a3f575f8787838181106119c0576119c0614369565b9050602002013590505f8686848181106119dc576119dc614369565b90506020020160208101906119f19190613dbd565b5f9283526101ca6020908152604080852080546001600160a01b0319166001600160a01b0394909416939093179092556101c990529091208490555080611a3781614391565b9150506119a5565b50505050505050565b5f80516020614a09833981519152611a5f81611ef0565b8584148015611a6d57508382145b611a895760405162461bcd60e51b8152600401610a35906143f7565b5f5b8681101561120057611af4888883818110611aa857611aa8614369565b9050602002016020810190611abd9190613dbd565b878784818110611acf57611acf614369565b90506020020135868685818110611ae857611ae8614369565b90506020020135612976565b80611afe81614391565b915050611a8b565b611b0e6139a5565b6115d683611b28855f90815261012d602052604090205490565b8460016126f6565b5f80516020614a09833981519152611b4781611ef0565b5f8381526101c7602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251868152918201527f1337ad480b48d364e8aa84552ad1d509f129fe1f324bb33c3e7bc5e618a7f546910160405180910390a1505050565b611bb661291b565b611bbe612693565b5f8381526101ca60205260409020546001600160a01b031680611bf35760405162461bcd60e51b8152600401610a359061443d565b5f84815261012d602052604081205490611c1086838760016126f6565b90508381602001511115611c365760405162461bcd60e51b8152600401610a3590614483565b611c438160200151612baa565b611c5d87878760405180602001604052805f81525061257d565b85836001600160a01b0316886001600160a01b03167f632d06b9857b5ddf4ffa4cbe21834f34e3ff276315f165beb00da191b75e8959600189865f01518b89611ca6919061455b565b604080519415158552602085019390935291830152606082015260800160405180910390a4611cd9816040015184612b03565b60808101516101c654611cf591906001600160a01b0316612b03565b60608101515f9015611d4a575060a08101515f9081526101c760205260409020546001600160a01b031680611d3c5760405162461bcd60e51b8152600401610a35906144da565b611d4a826060015182612b03565b6040828101516060808501516101c65460808088015186516001815260208101969096526001600160a01b0388811687890152948601939093529083169084015260a08301529151899287811692908c16917f0c46c4a8f0926f925a2816f7d2cdb7b685ff213c27505a003e138fff76b93e799181900360c00190a450505050611dd5600161015f55565b50505050565b5f82815260c96020526040902060010154611df581611ef0565b610ac78383612209565b5f80516020614a09833981519152611e1681611ef0565b6101c680546001600160a01b0319166001600160a01b0384169081179091556040519081527f0adecf76fa869b35236c53f76ec37546457966d5848d8be34a4508acdd51f7c39060200160405180910390a15050565b6001600160a01b038516331480611e885750611e888533610930565b611ea45760405162461bcd60e51b8152600401610a3590614283565b610c418585858585612c15565b5f6001600160e01b03198216636cdb3d1360e11b1480611ee157506001600160e01b031982166303a24d0760e21b145b80610a625750610a6282612d42565b610dc08133612d76565b60fd610bc682826145b3565b611f0e612693565b610191805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f443390565b6040516001600160a01b03909116815260200160405180910390a1565b611f69612dcf565b610191805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611f44565b8151835114611ffd5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b6064820152608401610a35565b6001600160a01b0384166120235760405162461bcd60e51b8152600401610a359061466e565b33612032818787878787612e19565b5f5b8451811015612116575f85828151811061205057612050614369565b602002602001015190505f85838151811061206d5761206d614369565b6020908102919091018101515f84815260fb835260408082206001600160a01b038e1683529093529190912054909150818110156120bd5760405162461bcd60e51b8152600401610a35906146b3565b5f83815260fb602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906120fb90849061455b565b925050819055505050508061210f90614391565b9050612034565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516121669291906146fd565b60405180910390a461217c818787878787612f05565b505050505050565b61218e8282611583565b610bc6575f82815260c9602090815260408083206001600160a01b03851684529091529020805460ff191660011790556121c53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122138282611583565b15610bc6575f82815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610bc681611ef0565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156122cc57610ac78361305f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612326575060408051601f3d908101601f191682019092526123239181019061472a565b60015b6123895760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610a35565b5f805160206149e983398151915281146123f75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610a35565b50610ac78383836130fa565b5f54610100900460ff161580801561242157505f54600160ff909116105b8061243a5750303b15801561243a57505f5460ff166001145b6124565760405162461bcd60e51b8152600401610a35906143a9565b5f805460ff191660011790558015612477575f805461ff0019166101001790555b6124808261311e565b61248861314d565b612490613173565b61249861314d565b6124a25f86612184565b6124b95f80516020614a0983398151915286612184565b6124e37fe2f4eaae4a9751e85a3e4a7b9587827a877f29914755229b07a7b2da98285f7085612184565b61250d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e386612184565b6101c680546001600160a01b0319166001600160a01b03851617905560c86101c38190556101c4556102586101c5558015610c41575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611124565b6001600160a01b0384166125dd5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610a35565b335f6125e8856131a1565b90505f6125f4856131a1565b9050612604835f89858589612e19565b5f86815260fb602090815260408083206001600160a01b038b1684529091528120805487929061263590849061455b565b909155505060408051878152602081018790526001600160a01b03808a16925f92918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611a3f835f898989896131ea565b6101915460ff16156126da5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610a35565b565b5f805f6126e985856132a4565b91509150610ee2816132e6565b6126fe6139a5565b816127105761270d83856144c7565b93505b5f61271b85856117fb565b90505f6127106101c354836127309190614525565b61273a919061453c565b90505f6127106101c4548461274f9190614525565b612759919061453c565b90505f6127106101c5548561276e9190614525565b612778919061453c565b5f8a81526101c960205260408120549192508190036127a15761279b838561455b565b93505f92505b8615612801576040518060c00160405280868152602001838587896127c6919061455b565b6127d0919061455b565b6127da919061455b565b81526020018381526020018481526020018581526020018281525095505050505050612834565b6040518060c001604052808681526020018385878961282091906144c7565b61282a91906144c7565b6127da91906144c7565b949350505050565b816001600160a01b0316836001600160a01b0316036128af5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610a35565b6001600160a01b038381165f81815260fc6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600261015f540361296e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a35565b600261015f55565b6001600160a01b0383166129d85760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b6064820152608401610a35565b335f6129e3846131a1565b90505f6129ef846131a1565b9050612a0d83875f858560405180602001604052805f815250612e19565b5f85815260fb602090815260408083206001600160a01b038a16845290915290205484811015612a8b5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b6064820152608401610a35565b5f86815260fb602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091525f9052611a3f565b5f816001600160a01b0316836040515f6040518083038185875af1925050503d805f8114612b4c576040519150601f19603f3d011682016040523d82523d5f602084013e612b51565b606091505b5050905080610ac75760405162461bcd60e51b815260206004820181905260248201527f46616e734372656174653a206661696c656420746f2073656e642066756e64736044820152606401610a35565b600161015f55565b80341015612bfa5760405162461bcd60e51b815260206004820181905260248201527f46616e734372656174653a20696e73756666696369656e74207061796d656e746044820152606401610a35565b80341115610dc057610dc0612c0f82346144c7565b33612b03565b6001600160a01b038416612c3b5760405162461bcd60e51b8152600401610a359061466e565b335f612c46856131a1565b90505f612c52856131a1565b9050612c62838989858589612e19565b5f86815260fb602090815260408083206001600160a01b038c16845290915290205485811015612ca45760405162461bcd60e51b8152600401610a35906146b3565b5f87815260fb602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612ce290849061455b565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611578848a8a8a8a8a6131ea565b5f6001600160e01b03198216637965db0b60e01b1480610a6257506301ffc9a760e01b6001600160e01b0319831614610a62565b612d808282611583565b610bc657612d8d8161342f565b612d98836020613441565b604051602001612da9929190614741565b60408051601f198184030181529082905262461bcd60e51b8252610a3591600401613b67565b6101915460ff166126da5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610a35565b6001600160a01b0385161580612e3657506001600160a01b038416155b80612e5957506001600160a01b0385165f9081526101c8602052604090205460ff165b80612e7c57506001600160a01b0384165f9081526101c8602052604090205460ff165b80612e9f57506001600160a01b0386165f9081526101c8602052604090205460ff165b612ef75760405162461bcd60e51b8152602060048201526024808201527f46616e73437265617465436f72653a207472616e73666572206e6f7420616c6c6044820152631bddd95960e21b6064820152608401610a35565b61217c8686868686866135d6565b6001600160a01b0384163b1561217c5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612f4990899089908890889088906004016147b5565b6020604051808303815f875af1925050508015612f83575060408051601f3d908101601f19168201909252612f8091810190614812565b60015b61302f57612f8f61482d565b806308c379a003612fc85750612fa3614845565b80612fae5750612fca565b8060405162461bcd60e51b8152600401610a359190613b67565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610a35565b6001600160e01b0319811663bc197c8160e01b14611a3f5760405162461bcd60e51b8152600401610a35906148cd565b6001600160a01b0381163b6130cc5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610a35565b5f805160206149e983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61310383613747565b5f8251118061310f5750805b15610ac757611dd58383613786565b5f54610100900460ff166131445760405162461bcd60e51b8152600401610a3590614915565b610dc0816137ab565b5f54610100900460ff166126da5760405162461bcd60e51b8152600401610a3590614915565b5f54610100900460ff166131995760405162461bcd60e51b8152600401610a3590614915565b6126da6137da565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106131d9576131d9614369565b602090810291909101015292915050565b6001600160a01b0384163b1561217c5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e619061322e9089908990889088908890600401614960565b6020604051808303815f875af1925050508015613268575060408051601f3d908101601f1916820190925261326591810190614812565b60015b61327457612f8f61482d565b6001600160e01b0319811663f23a6e6160e01b14611a3f5760405162461bcd60e51b8152600401610a35906148cd565b5f8082516041036132d8576020830151604084015160608501515f1a6132cc87828585613800565b945094505050506132df565b505f905060025b9250929050565b5f8160048111156132f9576132f96149a4565b036133015750565b6001816004811115613315576133156149a4565b036133625760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610a35565b6002816004811115613376576133766149a4565b036133c35760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610a35565b60038160048111156133d7576133d76149a4565b03610dc05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610a35565b6060610a626001600160a01b03831660145b60605f61344f836002614525565b61345a90600261455b565b6001600160401b0381111561347157613471613bb2565b6040519080825280601f01601f19166020018201604052801561349b576020820181803683370190505b509050600360fc1b815f815181106134b5576134b5614369565b60200101906001600160f81b03191690815f1a905350600f60fb1b816001815181106134e3576134e3614369565b60200101906001600160f81b03191690815f1a9053505f613505846002614525565b61351090600161455b565b90505b6001811115613587576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061354457613544614369565b1a60f81b82828151811061355a5761355a614369565b60200101906001600160f81b03191690815f1a90535060049490941c93613580816149b8565b9050613513565b5083156115d65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a35565b6001600160a01b03851661365a575f5b83518110156136585782818151811061360157613601614369565b602002602001015161012d5f86848151811061361f5761361f614369565b602002602001015181526020019081526020015f205f828254613642919061455b565b90915550613651905081614391565b90506135e6565b505b6001600160a01b03841661217c575f5b8351811015611a3f575f84828151811061368657613686614369565b602002602001015190505f8483815181106136a3576136a3614369565b602002602001015190505f61012d5f8481526020019081526020015f20549050818110156137245760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610a35565b5f92835261012d60205260409092209103905561374081614391565b905061366a565b6137508161305f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606115d68383604051806060016040528060278152602001614a29602791396138bd565b5f54610100900460ff166137d15760405162461bcd60e51b8152600401610a3590614915565b610dc081611efa565b5f54610100900460ff16612ba25760405162461bcd60e51b8152600401610a3590614915565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561383557505f905060036138b4565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613886573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166138ae575f600192509250506138b4565b91505f90505b94509492505050565b60605f80856001600160a01b0316856040516138d991906149cd565b5f60405180830381855af49150503d805f8114613911576040519150601f19603f3d011682016040523d82523d5f602084013e613916565b606091505b509150915061188486838387606083156139905782515f03613989576001600160a01b0385163b6139895760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a35565b5081612834565b6128348383815115612fae5781518083602001fd5b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b80356001600160a01b03811681146139eb575f80fd5b919050565b5f8060408385031215613a01575f80fd5b613a0a836139d5565b946020939093013593505050565b6001600160e01b031981168114610dc0575f80fd5b5f60208284031215613a3d575f80fd5b81356115d681613a18565b5f8083601f840112613a58575f80fd5b5081356001600160401b03811115613a6e575f80fd5b6020830191508360208285010111156132df575f80fd5b5f8060208385031215613a96575f80fd5b82356001600160401b03811115613aab575f80fd5b613ab785828601613a48565b90969095509350505050565b803580151581146139eb575f80fd5b5f8060408385031215613ae3575f80fd5b613aec836139d5565b9150613afa60208401613ac3565b90509250929050565b5f60208284031215613b13575f80fd5b5035919050565b5f5b83811015613b34578181015183820152602001613b1c565b50505f910152565b5f8151808452613b53816020860160208601613b1a565b601f01601f19169290920160200192915050565b602081525f6115d66020830184613b3c565b5f60208284031215613b89575f80fd5b6115d682613ac3565b5f8060408385031215613ba3575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b0381118282101715613beb57613beb613bb2565b6040525050565b5f6001600160401b03821115613c0a57613c0a613bb2565b5060051b60200190565b5f82601f830112613c23575f80fd5b81356020613c3082613bf2565b604051613c3d8282613bc6565b83815260059390931b8501820192828101915086841115613c5c575f80fd5b8286015b84811015613c775780358352918301918301613c60565b509695505050505050565b5f6001600160401b03831115613c9a57613c9a613bb2565b604051613cb1601f8501601f191660200182613bc6565b809150838152848484011115613cc5575f80fd5b838360208301375f60208583010152509392505050565b5f82601f830112613ceb575f80fd5b6115d683833560208501613c82565b5f805f805f60a08688031215613d0e575f80fd5b613d17866139d5565b9450613d25602087016139d5565b935060408601356001600160401b0380821115613d40575f80fd5b613d4c89838a01613c14565b94506060880135915080821115613d61575f80fd5b613d6d89838a01613c14565b93506080880135915080821115613d82575f80fd5b50613d8f88828901613cdc565b9150509295509295909350565b5f8060408385031215613dad575f80fd5b82359150613afa602084016139d5565b5f60208284031215613dcd575f80fd5b6115d6826139d5565b5f8060408385031215613de7575f80fd5b82356001600160401b0380821115613dfd575f80fd5b818501915085601f830112613e10575f80fd5b81356020613e1d82613bf2565b604051613e2a8282613bc6565b83815260059390931b8501820192828101915089841115613e49575f80fd5b948201945b83861015613e6e57613e5f866139d5565b82529482019490820190613e4e565b96505086013592505080821115613e83575f80fd5b50613e9085828601613c14565b9150509250929050565b5f8151808452602080850194508084015f5b83811015613ec857815187529582019590820190600101613eac565b509495945050505050565b602081525f6115d66020830184613e9a565b5f8060408385031215613ef6575f80fd5b613eff836139d5565b915060208301356001600160401b03811115613f19575f80fd5b613e9085828601613cdc565b5f805f8060808587031215613f38575f80fd5b613f41856139d5565b9350613f4f602086016139d5565b9250613f5d604086016139d5565b915060608501356001600160401b03811115613f77575f80fd5b8501601f81018713613f87575f80fd5b613f9687823560208401613c82565b91505092959194509250565b5f8083601f840112613fb2575f80fd5b5081356001600160401b03811115613fc8575f80fd5b6020830191508360208260051b85010111156132df575f80fd5b5f805f805f8060608789031215613ff7575f80fd5b86356001600160401b038082111561400d575f80fd5b6140198a838b01613fa2565b90985096506020890135915080821115614031575f80fd5b61403d8a838b01613fa2565b90965094506040890135915080821115614055575f80fd5b5061406289828a01613fa2565b979a9699509497509295939492505050565b5f805f805f805f8060e0898b03121561408b575f80fd5b614094896139d5565b9750602089013596506040890135955060608901359450608089013593506140be60a08a016139d5565b925060c08901356001600160401b038111156140d8575f80fd5b6140e48b828c01613a48565b999c989b5096995094979396929594505050565b5f805f6060848603121561410a575f80fd5b505081359360208301359350604090920135919050565b5f805f805f60608688031215614135575f80fd5b85356001600160401b038082111561414b575f80fd5b61415789838a01613fa2565b9097509550602088013591508082111561416f575f80fd5b5061417c88828901613fa2565b96999598509660400135949350505050565b5f805f80608085870312156141a1575f80fd5b6141aa856139d5565b966020860135965060408601359560600135945092505050565b5f80604083850312156141d5575f80fd5b6141de836139d5565b9150613afa602084016139d5565b5f805f805f60a08688031215614200575f80fd5b614209866139d5565b9450614217602087016139d5565b9350604086013592506060860135915060808601356001600160401b0381111561423f575f80fd5b613d8f88828901613cdc565b600181811c9082168061425f57607f821691505b60208210810361427d57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f600182016143a2576143a261437d565b5060010190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f46616e73437265617465436f72653a20617272617973206c656e677468206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526026908201527f46616e73437265617465436f72653a20776f726b206e6f74207075626c6973686040820152651959081e595d60d21b606082015260800190565b60208082526024908201527f46616e73437265617465436f72653a207072696365206c696d697420657863656040820152631959195960e21b606082015260800190565b81810381811115610a6257610a6261437d565b6020808252602b908201527f46616e73437265617465436f72653a2070726f6a65637446656552656369706960408201526a195b9d081b9bdd081cd95d60aa1b606082015260800190565b8082028115828204841417610a6257610a6261437d565b5f8261455657634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610a6257610a6261437d565b601f821115610ac7575f81815260208120601f850160051c810160208610156145945750805b601f850160051c820191505b8181101561217c578281556001016145a0565b81516001600160401b038111156145cc576145cc613bb2565b6145e0816145da845461424b565b8461456e565b602080601f831160018114614613575f84156145fc5750858301515b5f19600386901b1c1916600185901b17855561217c565b5f85815260208120601f198616915b8281101561464157888601518255948401946001909101908401614622565b508582101561465e57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081525f61470f6040830185613e9a565b82810360208401526147218185613e9a565b95945050505050565b5f6020828403121561473a575f80fd5b5051919050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351614778816017850160208801613b1a565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516147a9816028840160208801613b1a565b01602801949350505050565b6001600160a01b0386811682528516602082015260a0604082018190525f906147e090830186613e9a565b82810360608401526147f28186613e9a565b905082810360808401526148068185613b3c565b98975050505050505050565b5f60208284031215614822575f80fd5b81516115d681613a18565b5f60033d11156110645760045f803e505f5160e01c90565b5f60443d10156148525790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561488157505050505090565b82850191508151818111156148995750505050505090565b843d87010160208285010111156148b35750505050505090565b6148c260208286010187613bc6565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061499990830184613b3c565b979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b5f816149c6576149c661437d565b505f190190565b5f82516149de818460208701613b1a565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220833f2d004f9db6ac7c419b3ab233a783844d69f73bfe48b3ffe95363f5e1f16164736f6c63430008140033