12 txs
55 calls
constructor
constructor(string uri_, string name_)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getAllItemsOwnedByUser
viewfunction getAllItemsOwnedByUser(address user_) view returns (uint256[], uint256[], string[])
getAmountOfItem
viewfunction getAmountOfItem(uint256 tokenId_) view returns (uint256, uint256)
getIndexByTokenIdOfUser
viewfunction getIndexByTokenIdOfUser(address user_, uint256 tokenId_) view returns (uint256)
getMaxAmountOfItem
viewfunction getMaxAmountOfItem(uint256 tokenId_) view returns (uint256)
getMintedAmountOfItem
viewfunction getMintedAmountOfItem(uint256 tokenId_) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTokenIdByIndexOfUser
viewfunction getTokenIdByIndexOfUser(address user_, uint256 index_) view returns (uint256)
getTotalItemTypeOwnedByUser
viewfunction getTotalItemTypeOwnedByUser(address user_) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
name
viewfunction name() view returns (string)
OPERATOR
viewfunction OPERATOR() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
uri
viewfunction uri(uint256 tokenId_) view returns (string)
addOperator
nonpayablefunction addOperator(address operator)
burnBatchItem
nonpayablefunction burnBatchItem(address from_, uint256[] tokenIds_, uint256[] amounts_)
burnItem
nonpayablefunction burnItem(address from_, uint256 tokenId_, uint256 amount_)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
mintBatchItem
nonpayablefunction mintBatchItem(address to_, uint256[] tokenIds_, uint256[] amounts_)
mintItem
nonpayablefunction mintItem(address to_, uint256 tokenId_, uint256 amount_)
mintManyItems
nonpayablefunction mintManyItems(address[] tos_, uint256[] tokenIds_, uint256[] amounts_)
removeOperator
nonpayablefunction removeOperator(address operator)
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)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseUri
nonpayablefunction setBaseUri(string uri_)
setMaxAmountOfItems
nonpayablefunction setMaxAmountOfItems(uint256[] tokenIds_, uint256[] amounts_)
setName
nonpayablefunction setName(string name_)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
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
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620038b7380380620038b78339810160408190526200003491620001ef565b81818162000042816200006b565b506003620000518282620002e8565b5062000063915060009050336200007d565b5050620003b4565b6002620000798282620002e8565b5050565b60008281526008602090815260408083206001600160a01b038516845290915290205462000079908390839060ff16620000795760008281526008602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620000e63390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b81604052838152602092508683858801011115620001b757600080fd5b600091505b83821015620001db5785820183015181830184015290820190620001bc565b600093810190920192909252949350505050565b600080604083850312156200020357600080fd5b82516001600160401b03808211156200021b57600080fd5b620002298683870162000140565b935060208501519150808211156200024057600080fd5b506200024f8582860162000140565b9150509250929050565b600181811c908216806200026e57607f821691505b6020821081036200028f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e357600081815260208120601f850160051c81016020861015620002be5750805b601f850160051c820191505b81811015620002df57828155600101620002ca565b5050505b505050565b81516001600160401b038111156200030457620003046200012a565b6200031c8162000315845462000259565b8462000295565b602080601f8311600181146200035457600084156200033b5750858301515b600019600386901b1c1916600185901b178555620002df565b600085815260208120601f198616915b82811015620003855788860151825594840194600190910190840162000364565b5085821015620003a45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6134f380620003c46000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c8063983d27371161011a578063c47f0027116100ad578063e985e9c51161007c578063e985e9c51461046a578063f242432a146104a6578063f698898c146104b9578063fb3182ff146104cc578063fd8721a21461050957600080fd5b8063c47f00271461041e578063d258153514610431578063d547741f14610444578063e6fd73931461045757600080fd5b8063a22cb465116100e9578063a22cb465146103c3578063a3f1e574146103d6578063ac8a584a146103e9578063b4e57834146103fc57600080fd5b8063983d2737146103805780639870d7fe14610395578063a0bcfc7f146103a8578063a217fddf146103bb57600080fd5b80634130072411610192578063696a50b411610161578063696a50b4146103275780636f7a83241461033a57806391d148541461035a5780639733a6ab1461036d57600080fd5b806341300724146102ce57806341df8d0d146102e157806346039dd9146102f45780634e1273f41461030757600080fd5b8063248a9ca3116101ce578063248a9ca3146102705780632eb2c2d6146102935780632f2ff15d146102a857806336568abe146102bb57600080fd5b8062fdd58e146101ff57806301ffc9a71461022557806306fdde03146102485780630e89341c1461025d575b600080fd5b61021261020d36600461262a565b61052c565b6040519081526020015b60405180910390f35b61023861023336600461266a565b6105c5565b604051901515815260200161021c565b6102506105d0565b60405161021c91906126d7565b61025061026b3660046126ea565b610662565b61021261027e3660046126ea565b60009081526008602052604090206001015490565b6102a66102a136600461284c565b61069d565b005b6102a66102b63660046128f5565b6106e9565b6102a66102c93660046128f5565b610713565b6102a66102dc36600461296c565b610791565b6102126102ef3660046129d7565b61080e565b61021261030236600461262a565b610852565b61031a6103153660046129f2565b6108a3565b60405161021c9190612af7565b6102a6610335366004612b0a565b6109cc565b6102126103483660046126ea565b60009081526004602052604090205490565b6102386103683660046128f5565b6109fe565b61021261037b36600461262a565b610a29565b61021260008051602061349e83398151915281565b6102a66103a33660046129d7565b610a7a565b6102a66103b6366004612b3d565b610a9f565b610212600081565b6102a66103d1366004612bae565b610ae8565b6102a66103e4366004612bea565b610af3565b6102a66103f73660046129d7565b610b78565b61040f61040a3660046129d7565b610b9a565b60405161021c93929190612c6a565b6102a661042c366004612b3d565b610d9d565b6102a661043f366004612b0a565b610de6565b6102a66104523660046128f5565b610e08565b6102a6610465366004612cf1565b610e2d565b610238610478366004612d8a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6102a66104b4366004612db4565b610f24565b6102a66104c7366004612bea565b610f69565b6104f46104da3660046126ea565b600090815260046020526040902080546001909101549091565b6040805192835260208301919091520161021c565b6102126105173660046126ea565b60009081526004602052604090206001015490565b60006001600160a01b03831661059c5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006105bf82610ffc565b6060600380546105df90612e18565b80601f016020809104026020016040519081016040528092919081815260200182805461060b90612e18565b80156106585780601f1061062d57610100808354040283529160200191610658565b820191906000526020600020905b81548152906001019060200180831161063b57829003601f168201915b5050505050905090565b606061066d82611021565b610676836110b5565b604051602001610687929190612e52565b6040516020818303038152906040529050919050565b6001600160a01b0385163314806106b957506106b98533610478565b6106d55760405162461bcd60e51b815260040161059390612e81565b6106e28585858585611147565b5050505050565b600082815260086020526040902060010154610704816112f1565b61070e83836112fb565b505050565b6001600160a01b03811633146107835760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610593565b61078d8282611381565b5050565b61079b60006112f1565b610808848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920191909152506113e892505050565b50505050565b60006001600160a01b0382166108365760405162461bcd60e51b815260040161059390612ecf565b506001600160a01b031660009081526005602052604090205490565b60006001600160a01b03831661087a5760405162461bcd60e51b815260040161059390612ecf565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b606081518351146109085760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610593565b600083516001600160401b0381111561092357610923612703565b60405190808252806020026020018201604052801561094c578160200160208202803683370190505b50905060005b84518110156109c45761099785828151811061097057610970612f10565b602002602001015185838151811061098a5761098a612f10565b602002602001015161052c565b8282815181106109a9576109a9612f10565b60209081029190910101526109bd81612f3c565b9050610952565b509392505050565b6109e360008051602061349e8339815191526112f1565b61070e83838360405180602001604052806000815250611498565b60009182526008602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60006001600160a01b038316610a515760405162461bcd60e51b815260040161059390612ecf565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b610a8460006112f1565b610a9c60008051602061349e833981519152826112fb565b50565b610aa960006112f1565b61078d82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061157892505050565b61078d338383611584565b610b0a60008051602061349e8339815191526112f1565b6106e2858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080890282810182019093528882529093508892508791829185019084908082843760009201919091525061166492505050565b610b8260006112f1565b610a9c60008051602061349e83398151915282611381565b606080806001600160a01b038416610bc45760405162461bcd60e51b815260040161059390612ecf565b6001600160a01b03841660009081526005602052604081205490816001600160401b03811115610bf657610bf6612703565b604051908082528060200260200182016040528015610c1f578160200160208202803683370190505b5090506000826001600160401b03811115610c3c57610c3c612703565b604051908082528060200260200182016040528015610c6f57816020015b6060815260200190600190039081610c5a5790505b5090506000836001600160401b03811115610c8c57610c8c612703565b604051908082528060200260200182016040528015610cb5578160200160208202803683370190505b50905060005b84811015610d8f576001600160a01b038916600090815260066020526040812090610ce7836001612f55565b815260200190815260200160002054848281518110610d0857610d08612f10565b602002602001018181525050610d2a8985838151811061098a5761098a612f10565b828281518110610d3c57610d3c612f10565b602002602001018181525050610d6a848281518110610d5d57610d5d612f10565b6020026020010151610662565b838281518110610d7c57610d7c612f10565b6020908102919091010152600101610cbb565b509197919650945092505050565b610da760006112f1565b61078d82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061180092505050565b610dfd60008051602061349e8339815191526112f1565b61070e83838361180c565b600082815260086020526040902060010154610e23816112f1565b61070e8383611381565b610e4460008051602061349e8339815191526112f1565b8483148015610e5257508281145b610e975760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610593565b60005b85811015610f1b57610f13878783818110610eb757610eb7612f10565b9050602002016020810190610ecc91906129d7565b868684818110610ede57610ede612f10565b90506020020135858585818110610ef757610ef7612f10565b9050602002013560405180602001604052806000815250611498565b600101610e9a565b50505050505050565b6001600160a01b038516331480610f405750610f408533610478565b610f5c5760405162461bcd60e51b815260040161059390612e81565b6106e28585858585611924565b610f8060008051602061349e8339815191526112f1565b6106e28585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808902828101820190935288825290935088925087918291850190849080828437600092018290525060408051602081019091529081529250611a5c915050565b60006001600160e01b03198216637965db0b60e01b14806105bf57506105bf82611bb6565b60606002805461103090612e18565b80601f016020809104026020016040519081016040528092919081815260200182805461105c90612e18565b80156110a95780601f1061107e576101008083540402835291602001916110a9565b820191906000526020600020905b81548152906001019060200180831161108c57829003601f168201915b50505050509050919050565b606060006110c283611c06565b60010190506000816001600160401b038111156110e1576110e1612703565b6040519080825280601f01601f19166020018201604052801561110b576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461111557509392505050565b81518351146111685760405162461bcd60e51b815260040161059390612f68565b6001600160a01b03841661118e5760405162461bcd60e51b815260040161059390612fb0565b3361119d818787878787611cde565b60005b84518110156112835760008582815181106111bd576111bd612f10565b6020026020010151905060008583815181106111db576111db612f10565b602090810291909101810151600084815280835260408082206001600160a01b038e16835290935291909120549091508181101561122b5760405162461bcd60e51b815260040161059390612ff5565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611268908490612f55565b925050819055505050508061127c90612f3c565b90506111a0565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516112d392919061303f565b60405180910390a46112e9818787878787611d60565b505050505050565b610a9c8133611ebb565b61130582826109fe565b61078d5760008281526008602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561133d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61138b82826109fe565b1561078d5760008281526008602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b80518251146114395760405162461bcd60e51b815260206004820152601a60248201527f54776f20617272617973206c656e677468206d69736d617463680000000000006044820152606401610593565b60005b825181101561070e5781818151811061145757611457612f10565b60200260200101516004600085848151811061147557611475612f10565b60209081029190910181015182528101919091526040016000205560010161143c565b6001600160a01b0384166114be5760405162461bcd60e51b81526004016105939061306d565b3360006114ca85611f14565b905060006114d785611f14565b90506114e883600089858589611cde565b6000868152602081815260408083206001600160a01b038b16845290915281208054879290611518908490612f55565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610f1b83600089898989611f5f565b600261078d82826130f4565b816001600160a01b0316836001600160a01b0316036115f75760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610593565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03831661168a5760405162461bcd60e51b8152600401610593906131b3565b80518251146116ab5760405162461bcd60e51b815260040161059390612f68565b60003390506116ce81856000868660405180602001604052806000815250611cde565b60005b83518110156117935760008482815181106116ee576116ee612f10565b60200260200101519050600084838151811061170c5761170c612f10565b602090810291909101810151600084815280835260408082206001600160a01b038c16835290935291909120549091508181101561175c5760405162461bcd60e51b8152600401610593906131f6565b6000928352602083815260408085206001600160a01b038b168652909152909220910390558061178b81612f3c565b9150506116d1565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516117e492919061303f565b60405180910390a4604080516020810190915260009052610808565b600361078d82826130f4565b6001600160a01b0383166118325760405162461bcd60e51b8152600401610593906131b3565b33600061183e84611f14565b9050600061184b84611f14565b905061186b83876000858560405180602001604052806000815250611cde565b6000858152602081815260408083206001600160a01b038a168452909152902054848110156118ac5760405162461bcd60e51b8152600401610593906131f6565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610f1b565b6001600160a01b03841661194a5760405162461bcd60e51b815260040161059390612fb0565b33600061195685611f14565b9050600061196385611f14565b9050611973838989858589611cde565b6000868152602081815260408083206001600160a01b038c168452909152902054858110156119b45760405162461bcd60e51b815260040161059390612ff5565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906119f1908490612f55565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611a51848a8a8a8a8a611f5f565b505050505050505050565b6001600160a01b038416611a825760405162461bcd60e51b81526004016105939061306d565b8151835114611aa35760405162461bcd60e51b815260040161059390612f68565b33611ab381600087878787611cde565b60005b8451811015611b4e57838181518110611ad157611ad1612f10565b6020026020010151600080878481518110611aee57611aee612f10565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254611b369190612f55565b90915550819050611b4681612f3c565b915050611ab6565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611b9f92919061303f565b60405180910390a46106e281600087878787611d60565b60006001600160e01b03198216636cdb3d1360e11b1480611be757506001600160e01b031982166303a24d0760e21b145b806105bf57506301ffc9a760e01b6001600160e01b03198316146105bf565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611c455772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611c71576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611c8f57662386f26fc10000830492506010015b6305f5e1008310611ca7576305f5e100830492506008015b6127108310611cbb57612710830492506004015b60648310611ccd576064830492506002015b600a83106105bf5760010192915050565b6001600160a01b038516611cfb57611cf6838361201a565b611d1f565b836001600160a01b0316856001600160a01b031614611d1f57611d1f85848461211e565b6001600160a01b038416611d3c57611d37838361226b565b6112e9565b846001600160a01b0316846001600160a01b0316146112e9576112e9848484612348565b6001600160a01b0384163b156112e95760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611da4908990899088908890889060040161323a565b6020604051808303816000875af1925050508015611ddf575060408051601f3d908101601f19168201909252611ddc91810190613298565b60015b611e8b57611deb6132b5565b806308c379a003611e245750611dff6132d1565b80611e0a5750611e26565b8060405162461bcd60e51b815260040161059391906126d7565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610593565b6001600160e01b0319811663bc197c8160e01b14610f1b5760405162461bcd60e51b81526004016105939061335a565b611ec582826109fe565b61078d57611ed28161245a565b611edd83602061246c565b604051602001611eee9291906133a2565b60408051601f198184030181529082905262461bcd60e51b8252610593916004016126d7565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611f4e57611f4e612f10565b602090810291909101015292915050565b6001600160a01b0384163b156112e95760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611fa39089908990889088908890600401613417565b6020604051808303816000875af1925050508015611fde575060408051601f3d908101601f19168201909252611fdb91810190613298565b60015b611fea57611deb6132b5565b6001600160e01b0319811663f23a6e6160e01b14610f1b5760405162461bcd60e51b81526004016105939061335a565b60005b825181101561070e57600083828151811061203a5761203a612f10565b60200260200101519050600083838151811061205857612058612f10565b6020026020010151905060008061208384600090815260046020526040902080546001909101549091565b909250905081156120e757816120998483612f55565b11156120e75760405162461bcd60e51b815260206004820181905260248201527f457863656564696e67206d6178696d756d206e756d626572206f66206974656d6044820152606401610593565b60008481526004602052604081206001018054859290612108908490612f55565b925050819055506001850194505050505061201d565b60005b825181101561080857600083828151811061213e5761213e612f10565b60200260200101519050600083838151811061215c5761215c612f10565b60200260200101519050612170868361052c565b8103612256576001600160a01b03861660009081526005602090815260408083205460078352818420868552909252909120548082146121ec576001600160a01b038816600081815260066020908152604080832086845282528083205485845281842081905593835260078252808320938352929052208190555b6001600160a01b038816600090815260056020526040812080546001929061221590849061345c565b9091555050506001600160a01b0387166000818152600760209081526040808320878452825280832083905592825260068152828220938252929092528120555b506122649050600182612f55565b9050612121565b60005b825181101561070e57600083828151811061228b5761228b612f10565b6020026020010151905060008383815181106122a9576122a9612f10565b60200260200101519050806122cd8360009081526004602052604090206001015490565b10156123255760405162461bcd60e51b815260206004820152602160248201527f4275726e20616d6f756e742065786365656473206d696e74656420616d6f756e6044820152601d60fa1b6064820152608401610593565b60009182526004602052604090912060019081018054929092039091550161226e565b60005b825181101561080857600083828151811061236857612368612f10565b60200260200101519050600083838151811061238657612386612f10565b6020026020010151905061239a868361052c565b1580156123a75750600081115b80156123d457506001600160a01b0386166000908152600760209081526040808320858452909152902054155b15612445576001600160a01b0386166000908152600560205260408120546123fd906001612f55565b6001600160a01b038816600081815260056020908152604080832085905560078252808320888452825280832085905592825260068152828220938252929092529020839055505b506124539050600182612f55565b905061234b565b60606105bf6001600160a01b03831660145b6060600061247b83600261346f565b612486906002612f55565b6001600160401b0381111561249d5761249d612703565b6040519080825280601f01601f1916602001820160405280156124c7576020820181803683370190505b509050600360fc1b816000815181106124e2576124e2612f10565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061251157612511612f10565b60200101906001600160f81b031916908160001a905350600061253584600261346f565b612540906001612f55565b90505b60018111156125b8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061257457612574612f10565b1a60f81b82828151811061258a5761258a612f10565b60200101906001600160f81b031916908160001a90535060049490941c936125b181613486565b9050612543565b5083156126075760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610593565b9392505050565b80356001600160a01b038116811461262557600080fd5b919050565b6000806040838503121561263d57600080fd5b6126468361260e565b946020939093013593505050565b6001600160e01b031981168114610a9c57600080fd5b60006020828403121561267c57600080fd5b813561260781612654565b60005b838110156126a257818101518382015260200161268a565b50506000910152565b600081518084526126c3816020860160208601612687565b601f01601f19169290920160200192915050565b60208152600061260760208301846126ab565b6000602082840312156126fc57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561273e5761273e612703565b6040525050565b60006001600160401b0382111561275e5761275e612703565b5060051b60200190565b600082601f83011261277957600080fd5b8135602061278682612745565b6040516127938282612719565b83815260059390931b85018201928281019150868411156127b357600080fd5b8286015b848110156127ce57803583529183019183016127b7565b509695505050505050565b600082601f8301126127ea57600080fd5b81356001600160401b0381111561280357612803612703565b60405161281a601f8301601f191660200182612719565b81815284602083860101111561282f57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561286457600080fd5b61286d8661260e565b945061287b6020870161260e565b935060408601356001600160401b038082111561289757600080fd5b6128a389838a01612768565b945060608801359150808211156128b957600080fd5b6128c589838a01612768565b935060808801359150808211156128db57600080fd5b506128e8888289016127d9565b9150509295509295909350565b6000806040838503121561290857600080fd5b823591506129186020840161260e565b90509250929050565b60008083601f84011261293357600080fd5b5081356001600160401b0381111561294a57600080fd5b6020830191508360208260051b850101111561296557600080fd5b9250929050565b6000806000806040858703121561298257600080fd5b84356001600160401b038082111561299957600080fd5b6129a588838901612921565b909650945060208701359150808211156129be57600080fd5b506129cb87828801612921565b95989497509550505050565b6000602082840312156129e957600080fd5b6126078261260e565b60008060408385031215612a0557600080fd5b82356001600160401b0380821115612a1c57600080fd5b818501915085601f830112612a3057600080fd5b81356020612a3d82612745565b604051612a4a8282612719565b83815260059390931b8501820192828101915089841115612a6a57600080fd5b948201945b83861015612a8f57612a808661260e565b82529482019490820190612a6f565b96505086013592505080821115612aa557600080fd5b50612ab285828601612768565b9150509250929050565b600081518084526020808501945080840160005b83811015612aec57815187529582019590820190600101612ad0565b509495945050505050565b6020815260006126076020830184612abc565b600080600060608486031215612b1f57600080fd5b612b288461260e565b95602085013595506040909401359392505050565b60008060208385031215612b5057600080fd5b82356001600160401b0380821115612b6757600080fd5b818501915085601f830112612b7b57600080fd5b813581811115612b8a57600080fd5b866020828501011115612b9c57600080fd5b60209290920196919550909350505050565b60008060408385031215612bc157600080fd5b612bca8361260e565b915060208301358015158114612bdf57600080fd5b809150509250929050565b600080600080600060608688031215612c0257600080fd5b612c0b8661260e565b945060208601356001600160401b0380821115612c2757600080fd5b612c3389838a01612921565b90965094506040880135915080821115612c4c57600080fd5b50612c5988828901612921565b969995985093965092949392505050565b606081526000612c7d6060830186612abc565b602083820381850152612c908287612abc565b915083820360408501528185518084528284019150828160051b85010183880160005b83811015612ce157601f19878403018552612ccf8383516126ab565b94860194925090850190600101612cb3565b50909a9950505050505050505050565b60008060008060008060608789031215612d0a57600080fd5b86356001600160401b0380821115612d2157600080fd5b612d2d8a838b01612921565b90985096506020890135915080821115612d4657600080fd5b612d528a838b01612921565b90965094506040890135915080821115612d6b57600080fd5b50612d7889828a01612921565b979a9699509497509295939492505050565b60008060408385031215612d9d57600080fd5b612da68361260e565b91506129186020840161260e565b600080600080600060a08688031215612dcc57600080fd5b612dd58661260e565b9450612de36020870161260e565b9350604086013592506060860135915060808601356001600160401b03811115612e0c57600080fd5b6128e8888289016127d9565b600181811c90821680612e2c57607f821691505b602082108103612e4c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351612e64818460208801612687565b835190830190612e78818360208801612687565b01949350505050565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b60208082526021908201527f41646472657373207a65726f206973206e6f7420612076616c6964206f776e656040820152603960f91b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612f4e57612f4e612f26565b5060010190565b808201808211156105bf576105bf612f26565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006130526040830185612abc565b82810360208401526130648185612abc565b95945050505050565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b601f82111561070e57600081815260208120601f850160051c810160208610156130d55750805b601f850160051c820191505b818110156112e9578281556001016130e1565b81516001600160401b0381111561310d5761310d612703565b6131218161311b8454612e18565b846130ae565b602080601f831160018114613156576000841561313e5750858301515b600019600386901b1c1916600185901b1785556112e9565b600085815260208120601f198616915b8281101561318557888601518255948401946001909101908401613166565b50858210156131a35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a06040820181905260009061326690830186612abc565b82810360608401526132788186612abc565b9050828103608084015261328c81856126ab565b98975050505050505050565b6000602082840312156132aa57600080fd5b815161260781612654565b600060033d11156132ce5760046000803e5060005160e01c5b90565b600060443d10156132df5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561330e57505050505090565b82850191508151818111156133265750505050505090565b843d87010160208285010111156133405750505050505090565b61334f60208286010187612719565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516133da816017850160208801612687565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161340b816028840160208801612687565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613451908301846126ab565b979650505050505050565b818103818111156105bf576105bf612f26565b80820281158282048414176105bf576105bf612f26565b60008161349557613495612f26565b50600019019056fe523a704056dcd17bcf83bed8b68c59416dac1119be77755efe3bde0a64e46e0ca264697066735822122084073f90ab677f81db7c3c43a36f9de82f289a9b41b7d4448f9bdad5bc69bbb464736f6c63430008110033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000003868747470733a2f2f6170692d636f6e73756d7074696f6e2e67656e736f2e67616d652f6d657461646174612f6c616e642d6f626a6563742f0000000000000000000000000000000000000000000000000000000000000000000000000000001747656e736f6b697368694f6e6c696e652e4f626a656374000000000000000000