Loading
[ { "inputs": [ { "internalType": "string", "name": "uri_", "type": "string" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "adminwallet_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "RESERVE_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_adminwallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenid", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "adminTrasfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256[]", "name": "tokenid", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amount", "type": "uint256[]" } ], "name": "batchmint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "tokenid", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ], "name": "canTransferTo", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "tokenid", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" } ], "name": "setMerkleRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "setURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620029a0380380620029a083398101604081905262000034916200022e565b83620000408162000091565b5060086200004f848262000389565b5060096200005e838262000389565b50600a80546001600160a01b0319166001600160a01b03831617905562000087600033620000a3565b5050505062000455565b60066200009f828262000389565b5050565b60008281526003602090815260408083206001600160a01b03851684529091529020546200009f908390839060ff166200009f5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200010c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126200019157600080fd5b81516001600160401b0380821115620001ae57620001ae62000150565b604051601f8301601f19908116603f01168101908282118183101715620001d957620001d962000150565b81604052838152602092508683858801011115620001f657600080fd5b600091505b838210156200021a5785820183015181830184015290820190620001fb565b600093810190920192909252949350505050565b600080600080608085870312156200024557600080fd5b84516001600160401b03808211156200025d57600080fd5b6200026b888389016200017f565b955060208701519150808211156200028257600080fd5b62000290888389016200017f565b94506040870151915080821115620002a757600080fd5b50620002b6878288016200017f565b606087015190935090506001600160a01b0381168114620002d657600080fd5b939692955090935050565b600181811c90821680620002f657607f821691505b60208210810362000330577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156200038457600081815260208120601f850160051c810160208610156200035f5750805b601f850160051c820191505b8181101562000380578281556001016200036b565b5050505b505050565b81516001600160401b03811115620003a557620003a562000150565b620003bd81620003b68454620002e1565b8462000336565b602080601f831160018114620003f55760008415620003dc5750858301515b600019600386901b1c1916600185901b17855562000380565b600085815260208120601f198616915b82811015620004265788860151825594840194600190910190840162000405565b5085821015620004455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61253b80620004656000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806338ecb05f116100de578063a217fddf11610097578063d863ce1711610071578063d863ce171461035a578063e985e9c514610385578063f242432a146103c1578063f5298aca146103d457600080fd5b8063a217fddf1461032c578063a22cb46514610334578063d547741f1461034757600080fd5b806338ecb05f146102b85780634e1273f4146102cb5780636a96f1af146102eb5780637cb64759146102fe57806391d148541461031157806395d89b411461032457600080fd5b8063191fd57d1161014b5780632eb2c2d6116101255780632eb2c2d6146102765780632eb4a7ab146102895780632f2ff15d1461029257806336568abe146102a557600080fd5b8063191fd57d1461022b578063248a9ca31461024057806324bce81c1461026357600080fd5b8062fdd58e1461019257806301ffc9a7146101b857806302fe5305146101db57806306fdde03146101f05780630e89341c14610205578063156e29f614610218575b600080fd5b6101a56101a03660046117fe565b6103e7565b6040519081526020015b60405180910390f35b6101cb6101c636600461183e565b610480565b60405190151581526020016101af565b6101ee6101e93660046118fa565b61048b565b005b6101f86104b0565b6040516101af919061199a565b6101f86102133660046119ad565b61053e565b6101ee6102263660046119c6565b610572565b6101a56000805160206124e683398151915281565b6101a561024e3660046119ad565b60009081526003602052604090206001015490565b6101ee610271366004611a44565b6105ab565b6101ee610284366004611b6f565b61063f565b6101a5600b5481565b6101ee6102a0366004611c18565b61068b565b6101ee6102b3366004611c18565b6106b5565b6101ee6102c6366004611c44565b61072f565b6102de6102d9366004611cb7565b610762565b6040516101af9190611dbc565b6101cb6102f9366004611dcf565b61088b565b6101ee61030c3660046119ad565b610906565b6101cb61031f366004611c18565b610924565b6101f861094f565b6101a5600081565b6101ee610342366004611e21565b61095c565b6101ee610355366004611c18565b610967565b600a5461036d906001600160a01b031681565b6040516001600160a01b0390911681526020016101af565b6101cb610393366004611e5d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6101ee6103cf366004611e87565b61098c565b6101ee6103e23660046119c6565b6109d1565b60006001600160a01b0383166104575760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b506000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b600061047a826109f4565b6000805160206124e68339815191526104a381610a19565b6104ac82610a26565b5050565b600880546104bd90611eeb565b80601f01602080910402602001604051908101604052809291908181526020018280546104e990611eeb565b80156105365780601f1061050b57610100808354040283529160200191610536565b820191906000526020600020905b81548152906001019060200180831161051957829003601f168201915b505050505081565b6060600661054b83610a32565b60405160200161055c929190611f25565b6040516020818303038152906040529050919050565b6000805160206124e683398151915261058a81610a19565b6105a584848460405180602001604052806000815250610a76565b50505050565b6000805160206124e68339815191526105c381610a19565b6105ce86848461088b565b61061a5760405162461bcd60e51b815260206004820152601a60248201527f546f2061646472657373206e6f742077686974656c6973746564000000000000604482015260640161044e565b6106368787878760405180602001604052806000815250610b47565b50505050505050565b6001600160a01b03851633148061065b575061065b8533610393565b6106775760405162461bcd60e51b815260040161044e90611fac565b6106848585858585610c71565b5050505050565b6000828152600360205260409020600101546106a681610a19565b6106b08383610e0d565b505050565b6001600160a01b03811633146107255760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161044e565b6104ac8282610e93565b6000805160206124e683398151915261074781610a19565b6105a584848460405180602001604052806000815250610efa565b606081518351146107c75760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161044e565b600083516001600160401b038111156107e2576107e261185b565b60405190808252806020026020018201604052801561080b578160200160208202803683370190505b50905060005b84518110156108835761085685828151811061082f5761082f611ffb565b602002602001015185838151811061084957610849611ffb565b60200260200101516103e7565b82828151811061086857610868611ffb565b602090810291909101015261087c81612027565b9050610811565b509392505050565b604080516001600160a01b03851660208201526000918291016040516020818303038152906040528051906020012090506108fd84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600b549150849050611045565b95945050505050565b6000805160206124e683398151915261091e81610a19565b50600b55565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600980546104bd90611eeb565b6104ac33838361105b565b60008281526003602052604090206001015461098281610a19565b6106b08383610e93565b6001600160a01b0385163314806109a857506109a88533610393565b6109c45760405162461bcd60e51b815260040161044e90611fac565b6106848585858585610b47565b6000805160206124e68339815191526109e981610a19565b6105a584848461113b565b60006001600160e01b03198216637965db0b60e01b148061047a575061047a826112b7565b610a238133611307565b50565b60066104ac8282612086565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480610a4c5750819003601f19909101908152919050565b6001600160a01b038416610a9c5760405162461bcd60e51b815260040161044e90612145565b336000610aa88561136b565b90506000610ab58561136b565b90506000868152602081815260408083206001600160a01b038b16845290915281208054879290610ae7908490612186565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610636836000898989896113b6565b6001600160a01b038416610b6d5760405162461bcd60e51b815260040161044e90612199565b336000610b798561136b565b90506000610b868561136b565b90506000868152602081815260408083206001600160a01b038c16845290915290205485811015610bc95760405162461bcd60e51b815260040161044e906121de565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290610c06908490612186565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610c66848a8a8a8a8a6113b6565b505050505050505050565b8151835114610c925760405162461bcd60e51b815260040161044e90612228565b6001600160a01b038416610cb85760405162461bcd60e51b815260040161044e90612199565b3360005b8451811015610d9f576000858281518110610cd957610cd9611ffb565b602002602001015190506000858381518110610cf757610cf7611ffb565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610d475760405162461bcd60e51b815260040161044e906121de565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610d84908490612186565b9250508190555050505080610d9890612027565b9050610cbc565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610def929190612270565b60405180910390a4610e05818787878787611511565b505050505050565b610e178282610924565b6104ac5760008281526003602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610e4f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e9d8282610924565b156104ac5760008281526003602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b038416610f205760405162461bcd60e51b815260040161044e90612145565b8151835114610f415760405162461bcd60e51b815260040161044e90612228565b3360005b8451811015610fdd57838181518110610f6057610f60611ffb565b6020026020010151600080878481518110610f7d57610f7d611ffb565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254610fc59190612186565b90915550819050610fd581612027565b915050610f45565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161102e929190612270565b60405180910390a461068481600087878787611511565b60008261105285846115cc565b14949350505050565b816001600160a01b0316836001600160a01b0316036110ce5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161044e565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03831661119d5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b606482015260840161044e565b3360006111a98461136b565b905060006111b68461136b565b60408051602080820183526000918290528882528181528282206001600160a01b038b168352905220549091508481101561123f5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b606482015260840161044e565b6000868152602081815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610636565b60006001600160e01b03198216636cdb3d1360e11b14806112e857506001600160e01b031982166303a24d0760e21b145b8061047a57506301ffc9a760e01b6001600160e01b031983161461047a565b6113118282610924565b6104ac57611329816001600160a01b03166014611611565b611334836020611611565b604051602001611345929190612295565b60408051601f198184030181529082905262461bcd60e51b825261044e9160040161199a565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106113a5576113a5611ffb565b602090810291909101015292915050565b6001600160a01b0384163b15610e055760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906113fa908990899088908890889060040161230a565b6020604051808303816000875af1925050508015611435575060408051601f3d908101601f191682019092526114329181019061234f565b60015b6114e15761144161236c565b806308c379a00361147a5750611455612388565b80611460575061147c565b8060405162461bcd60e51b815260040161044e919061199a565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161044e565b6001600160e01b0319811663f23a6e6160e01b146106365760405162461bcd60e51b815260040161044e90612411565b6001600160a01b0384163b15610e055760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906115559089908990889088908890600401612459565b6020604051808303816000875af1925050508015611590575060408051601f3d908101601f1916820190925261158d9181019061234f565b60015b61159c5761144161236c565b6001600160e01b0319811663bc197c8160e01b146106365760405162461bcd60e51b815260040161044e90612411565b600081815b8451811015610883576115fd828683815181106115f0576115f0611ffb565b60200260200101516117b3565b91508061160981612027565b9150506115d1565b606060006116208360026124b7565b61162b906002612186565b6001600160401b038111156116425761164261185b565b6040519080825280601f01601f19166020018201604052801561166c576020820181803683370190505b509050600360fc1b8160008151811061168757611687611ffb565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106116b6576116b6611ffb565b60200101906001600160f81b031916908160001a90535060006116da8460026124b7565b6116e5906001612186565b90505b600181111561175d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061171957611719611ffb565b1a60f81b82828151811061172f5761172f611ffb565b60200101906001600160f81b031916908160001a90535060049490941c93611756816124ce565b90506116e8565b5083156117ac5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161044e565b9392505050565b60008183106117cf5760008281526020849052604090206117ac565b60008381526020839052604090206117ac565b80356001600160a01b03811681146117f957600080fd5b919050565b6000806040838503121561181157600080fd5b61181a836117e2565b946020939093013593505050565b6001600160e01b031981168114610a2357600080fd5b60006020828403121561185057600080fd5b81356117ac81611828565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156118965761189661185b565b6040525050565b60006001600160401b038311156118b6576118b661185b565b6040516118cd601f8501601f191660200182611871565b8091508381528484840111156118e257600080fd5b83836020830137600060208583010152509392505050565b60006020828403121561190c57600080fd5b81356001600160401b0381111561192257600080fd5b8201601f8101841361193357600080fd5b6119428482356020840161189d565b949350505050565b60005b8381101561196557818101518382015260200161194d565b50506000910152565b6000815180845261198681602086016020860161194a565b601f01601f19169290920160200192915050565b6020815260006117ac602083018461196e565b6000602082840312156119bf57600080fd5b5035919050565b6000806000606084860312156119db57600080fd5b6119e4846117e2565b95602085013595506040909401359392505050565b60008083601f840112611a0b57600080fd5b5081356001600160401b03811115611a2257600080fd5b6020830191508360208260051b8501011115611a3d57600080fd5b9250929050565b60008060008060008060a08789031215611a5d57600080fd5b611a66876117e2565b9550611a74602088016117e2565b9450604087013593506060870135925060808701356001600160401b03811115611a9d57600080fd5b611aa989828a016119f9565b979a9699509497509295939492505050565b60006001600160401b03821115611ad457611ad461185b565b5060051b60200190565b600082601f830112611aef57600080fd5b81356020611afc82611abb565b604051611b098282611871565b83815260059390931b8501820192828101915086841115611b2957600080fd5b8286015b84811015611b445780358352918301918301611b2d565b509695505050505050565b600082601f830112611b6057600080fd5b6117ac8383356020850161189d565b600080600080600060a08688031215611b8757600080fd5b611b90866117e2565b9450611b9e602087016117e2565b935060408601356001600160401b0380821115611bba57600080fd5b611bc689838a01611ade565b94506060880135915080821115611bdc57600080fd5b611be889838a01611ade565b93506080880135915080821115611bfe57600080fd5b50611c0b88828901611b4f565b9150509295509295909350565b60008060408385031215611c2b57600080fd5b82359150611c3b602084016117e2565b90509250929050565b600080600060608486031215611c5957600080fd5b611c62846117e2565b925060208401356001600160401b0380821115611c7e57600080fd5b611c8a87838801611ade565b93506040860135915080821115611ca057600080fd5b50611cad86828701611ade565b9150509250925092565b60008060408385031215611cca57600080fd5b82356001600160401b0380821115611ce157600080fd5b818501915085601f830112611cf557600080fd5b81356020611d0282611abb565b604051611d0f8282611871565b83815260059390931b8501820192828101915089841115611d2f57600080fd5b948201945b83861015611d5457611d45866117e2565b82529482019490820190611d34565b96505086013592505080821115611d6a57600080fd5b50611d7785828601611ade565b9150509250929050565b600081518084526020808501945080840160005b83811015611db157815187529582019590820190600101611d95565b509495945050505050565b6020815260006117ac6020830184611d81565b600080600060408486031215611de457600080fd5b611ded846117e2565b925060208401356001600160401b03811115611e0857600080fd5b611e14868287016119f9565b9497909650939450505050565b60008060408385031215611e3457600080fd5b611e3d836117e2565b915060208301358015158114611e5257600080fd5b809150509250929050565b60008060408385031215611e7057600080fd5b611e79836117e2565b9150611c3b602084016117e2565b600080600080600060a08688031215611e9f57600080fd5b611ea8866117e2565b9450611eb6602087016117e2565b9350604086013592506060860135915060808601356001600160401b03811115611edf57600080fd5b611c0b88828901611b4f565b600181811c90821680611eff57607f821691505b602082108103611f1f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808454611f3381611eeb565b60018281168015611f4b5760018114611f6057611f8f565b60ff1984168752821515830287019450611f8f565b8860005260208060002060005b85811015611f865781548a820152908401908201611f6d565b50505082870194505b505050508351611fa381836020880161194a565b01949350505050565b6020808252602f908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526e195c881b9bdc88185c1c1c9bdd9959608a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161203957612039612011565b5060010190565b601f8211156106b057600081815260208120601f850160051c810160208610156120675750805b601f850160051c820191505b81811015610e0557828155600101612073565b81516001600160401b0381111561209f5761209f61185b565b6120b3816120ad8454611eeb565b84612040565b602080601f8311600181146120e857600084156120d05750858301515b600019600386901b1c1916600185901b178555610e05565b600085815260208120601f198616915b82811015612117578886015182559484019460019091019084016120f8565b50858210156121355787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b8082018082111561047a5761047a612011565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6040815260006122836040830185611d81565b82810360208401526108fd8185611d81565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516122cd81601785016020880161194a565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516122fe81602884016020880161194a565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906123449083018461196e565b979650505050505050565b60006020828403121561236157600080fd5b81516117ac81611828565b600060033d11156123855760046000803e5060005160e01c5b90565b600060443d10156123965790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156123c557505050505090565b82850191508151818111156123dd5750505050505090565b843d87010160208285010111156123f75750505050505090565b61240660208286010187611871565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a06040820181905260009061248590830186611d81565b82810360608401526124978186611d81565b905082810360808401526124ab818561196e565b98975050505050505050565b808202811582820484141761047a5761047a612011565b6000816124dd576124dd612011565b50600019019056febf575aa07286781f90c1bdc8f4940c6c29874a0c25a1f1fe7661650b409c01ffa264697066735822122013483df7210a7603149cbd72c1c6b43ce280a564884d94011ab46e99f12bb66664736f6c63430008110033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000cba2602d63baebbe3050ce8b41c633a22fe9464c000000000000000000000000000000000000000000000000000000000000003a68747470733a2f2f6e65772d63727970746f2d6261636b656e642e76657263656c2e6170702f6170692f76312f6e666c2f6d657461646174612f000000000000000000000000000000000000000000000000000000000000000000000000000f43727970746f53706f7274734e464c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000543534e464c000000000000000000000000000000000000000000000000000000