[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "ERC721EnumerableForbiddenBatchMint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "ERC721OutOfBoundsIndex", "type": "error" }, { "inputs": [], "name": "EnforcedPause", "type": "error" }, { "inputs": [], "name": "ExpectedPause", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "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": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "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": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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": "string", "name": "_uri", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162001c9e38038062001c9e8339810160408190526200003491620001ee565b81816000620000448382620002e7565b506001620000538282620002e7565b50506007805460ff19169055506200006d60003362000076565b505050620003b3565b60008281526006602090815260408083206001600160a01b038516845290915281205460ff166200011f5760008381526006602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620000d63390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000123565b5060005b92915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015157600080fd5b81516001600160401b03808211156200016e576200016e62000129565b604051601f8301601f19908116603f0116810190828211818310171562000199576200019962000129565b81604052838152602092508683858801011115620001b657600080fd5b600091505b83821015620001da5785820183015181830184015290820190620001bb565b600093810190920192909252949350505050565b600080604083850312156200020257600080fd5b82516001600160401b03808211156200021a57600080fd5b62000228868387016200013f565b935060208501519150808211156200023f57600080fd5b506200024e858286016200013f565b9150509250929050565b600181811c908216806200026d57607f821691505b6020821081036200028e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e257600081815260208120601f850160051c81016020861015620002bd5750805b601f850160051c820191505b81811015620002de57828155600101620002c9565b5050505b505050565b81516001600160401b0381111562000303576200030362000129565b6200031b8162000314845462000258565b8462000294565b602080601f8311600181146200035357600084156200033a5750858301515b600019600386901b1c1916600185901b178555620002de565b600085815260208120601f198616915b82811015620003845788860151825594840194600190910190840162000363565b5085821015620003a35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6118db80620003c36000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806342966c68116100de57806395d89b4111610097578063b88d4fde11610071578063b88d4fde14610357578063c87b56dd1461036a578063d547741f1461037d578063e985e9c51461039057600080fd5b806395d89b4114610334578063a217fddf1461033c578063a22cb4651461034457600080fd5b806342966c68146102ca5780634f6ccce7146102dd5780635c975abb146102f05780636352211e146102fb57806370a082311461030e57806391d148541461032157600080fd5b806323b872dd1161014b5780632f745c59116101255780632f745c591461027e57806336568abe1461029157806340c10f19146102a457806342842e0e146102b757600080fd5b806323b872dd14610235578063248a9ca3146102485780632f2ff15d1461026b57600080fd5b806301ffc9a71461019357806302fe5305146101bb57806306fdde03146101d0578063081812fc146101e5578063095ea7b31461021057806318160ddd14610223575b600080fd5b6101a66101a136600461136e565b6103a3565b60405190151581526020015b60405180910390f35b6101ce6101c9366004611417565b6103b4565b005b6101d86103d0565b6040516101b291906114b0565b6101f86101f33660046114c3565b610462565b6040516001600160a01b0390911681526020016101b2565b6101ce61021e3660046114f8565b61048b565b600a545b6040519081526020016101b2565b6101ce610243366004611522565b61049a565b6102276102563660046114c3565b60009081526006602052604090206001015490565b6101ce61027936600461155e565b61052a565b61022761028c3660046114f8565b61054f565b6101ce61029f36600461155e565b6105b4565b6101ce6102b23660046114f8565b6105e7565b6101ce6102c5366004611522565b6105fc565b6101ce6102d83660046114c3565b610617565b6102276102eb3660046114c3565b610623565b60075460ff166101a6565b6101f86103093660046114c3565b61067c565b61022761031c36600461158a565b610687565b6101a661032f36600461155e565b6106cf565b6101d86106fa565b610227600081565b6101ce6103523660046115a5565b610709565b6101ce6103653660046115e1565b610714565b6101d86103783660046114c3565b61072b565b6101ce61038b36600461155e565b610793565b6101a661039e36600461165d565b6107b8565b60006103ae826107e6565b92915050565b60006103bf8161080b565b600c6103cb838261170f565b505050565b6060600080546103df90611687565b80601f016020809104026020016040519081016040528092919081815260200182805461040b90611687565b80156104585780601f1061042d57610100808354040283529160200191610458565b820191906000526020600020905b81548152906001019060200180831161043b57829003601f168201915b5050505050905090565b600061046d82610818565b506000828152600460205260409020546001600160a01b03166103ae565b610496828233610851565b5050565b6001600160a01b0382166104c957604051633250574960e11b8152600060048201526024015b60405180910390fd5b60006104d683833361085e565b9050836001600160a01b0316816001600160a01b031614610524576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016104c0565b50505050565b6000828152600660205260409020600101546105458161080b565b6105248383610873565b600061055a83610687565b821061058b5760405163295f44f760e21b81526001600160a01b0384166004820152602481018390526044016104c0565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b6001600160a01b03811633146105dd5760405163334bd91960e11b815260040160405180910390fd5b6103cb8282610907565b60006105f28161080b565b6103cb8383610974565b6103cb83838360405180602001604052806000815250610714565b6104966000823361085e565b600061062e600a5490565b82106106575760405163295f44f760e21b815260006004820152602481018390526044016104c0565b600a828154811061066a5761066a6117cf565b90600052602060002001549050919050565b60006103ae82610818565b60006001600160a01b0382166106b3576040516322718ad960e21b8152600060048201526024016104c0565b506001600160a01b031660009081526003602052604090205490565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600180546103df90611687565b61049633838361098e565b61071f84848461049a565b61052484848484610a2d565b606061073682610818565b506000610741610b56565b90506000815111610761576040518060200160405280600081525061078c565b8061076b84610b65565b60405160200161077c9291906117e5565b6040516020818303038152906040525b9392505050565b6000828152600660205260409020600101546107ae8161080b565b6105248383610907565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b0319821663780e9d6360e01b14806103ae57506103ae82610bf8565b6108158133610c1d565b50565b6000818152600260205260408120546001600160a01b0316806103ae57604051637e27328960e01b8152600481018490526024016104c0565b6103cb8383836001610c56565b600061086b848484610d5c565b949350505050565b600061087f83836106cf565b6108ff5760008381526006602090815260408083206001600160a01b03861684529091529020805460ff191660011790556108b73390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016103ae565b5060006103ae565b600061091383836106cf565b156108ff5760008381526006602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016103ae565b610496828260405180602001604052806000815250610e29565b6001600160a01b0382166109c057604051630b61174360e31b81526001600160a01b03831660048201526024016104c0565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561052457604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610a6f903390889087908790600401611814565b6020604051808303816000875af1925050508015610aaa575060408051601f3d908101601f19168201909252610aa791810190611851565b60015b610b13573d808015610ad8576040519150601f19603f3d011682016040523d82523d6000602084013e610add565b606091505b508051600003610b0b57604051633250574960e11b81526001600160a01b03851660048201526024016104c0565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14610b4f57604051633250574960e11b81526001600160a01b03851660048201526024016104c0565b5050505050565b6060600c80546103df90611687565b60606000610b7283610e40565b600101905060008167ffffffffffffffff811115610b9257610b9261138b565b6040519080825280601f01601f191660200182016040528015610bbc576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610bc657509392505050565b60006001600160e01b03198216637965db0b60e01b14806103ae57506103ae82610f18565b610c2782826106cf565b6104965760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104c0565b8080610c6a57506001600160a01b03821615155b15610d2c576000610c7a84610818565b90506001600160a01b03831615801590610ca65750826001600160a01b0316816001600160a01b031614155b8015610cb95750610cb781846107b8565b155b15610ce25760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016104c0565b8115610d2a5783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610d6a858585610f68565b90506001600160a01b038116610dc757610dc284600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b610dea565b846001600160a01b0316816001600160a01b031614610dea57610dea8185610f7d565b6001600160a01b038516610e0657610e018461100e565b61086b565b846001600160a01b0316816001600160a01b03161461086b5761086b85856110bd565b610e33838361110d565b6103cb6000848484610a2d565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610e7f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610eab576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610ec957662386f26fc10000830492506010015b6305f5e1008310610ee1576305f5e100830492506008015b6127108310610ef557612710830492506004015b60648310610f07576064830492506002015b600a83106103ae5760010192915050565b60006001600160e01b031982166380ac58cd60e01b1480610f4957506001600160e01b03198216635b5e139f60e01b145b806103ae57506301ffc9a760e01b6001600160e01b03198316146103ae565b6000610f72611172565b61086b848484611198565b6000610f8883610687565b600083815260096020526040902054909150808214610fdb576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a546000906110209060019061186e565b6000838152600b6020526040812054600a8054939450909284908110611048576110486117cf565b9060005260206000200154905080600a8381548110611069576110696117cf565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806110a1576110a161188f565b6001900381819060005260206000200160009055905550505050565b600060016110ca84610687565b6110d4919061186e565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b6001600160a01b03821661113757604051633250574960e11b8152600060048201526024016104c0565b60006111458383600061085e565b90506001600160a01b038116156103cb576040516339e3563760e11b8152600060048201526024016104c0565b60075460ff16156111965760405163d93c066560e01b815260040160405180910390fd5b565b6000828152600260205260408120546001600160a01b03908116908316156111c5576111c5818486611291565b6001600160a01b03811615611203576111e2600085600080610c56565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615611232576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b61129c8383836112f5565b6103cb576001600160a01b0383166112ca57604051637e27328960e01b8152600481018290526024016104c0565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016104c0565b60006001600160a01b0383161580159061086b5750826001600160a01b0316846001600160a01b0316148061132f575061132f84846107b8565b8061086b5750506000908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b03198116811461081557600080fd5b60006020828403121561138057600080fd5b813561078c81611358565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156113bc576113bc61138b565b604051601f8501601f19908116603f011681019082821181831017156113e4576113e461138b565b816040528093508581528686860111156113fd57600080fd5b858560208301376000602087830101525050509392505050565b60006020828403121561142957600080fd5b813567ffffffffffffffff81111561144057600080fd5b8201601f8101841361145157600080fd5b61086b848235602084016113a1565b60005b8381101561147b578181015183820152602001611463565b50506000910152565b6000815180845261149c816020860160208601611460565b601f01601f19169290920160200192915050565b60208152600061078c6020830184611484565b6000602082840312156114d557600080fd5b5035919050565b80356001600160a01b03811681146114f357600080fd5b919050565b6000806040838503121561150b57600080fd5b611514836114dc565b946020939093013593505050565b60008060006060848603121561153757600080fd5b611540846114dc565b925061154e602085016114dc565b9150604084013590509250925092565b6000806040838503121561157157600080fd5b82359150611581602084016114dc565b90509250929050565b60006020828403121561159c57600080fd5b61078c826114dc565b600080604083850312156115b857600080fd5b6115c1836114dc565b9150602083013580151581146115d657600080fd5b809150509250929050565b600080600080608085870312156115f757600080fd5b611600856114dc565b935061160e602086016114dc565b925060408501359150606085013567ffffffffffffffff81111561163157600080fd5b8501601f8101871361164257600080fd5b611651878235602084016113a1565b91505092959194509250565b6000806040838503121561167057600080fd5b611679836114dc565b9150611581602084016114dc565b600181811c9082168061169b57607f821691505b6020821081036116bb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103cb57600081815260208120601f850160051c810160208610156116e85750805b601f850160051c820191505b81811015611707578281556001016116f4565b505050505050565b815167ffffffffffffffff8111156117295761172961138b565b61173d816117378454611687565b846116c1565b602080601f831160018114611772576000841561175a5750858301515b600019600386901b1c1916600185901b178555611707565b600085815260208120601f198616915b828110156117a157888601518255948401946001909101908401611782565b50858210156117bf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b600083516117f7818460208801611460565b83519083019061180b818360208801611460565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061184790830184611484565b9695505050505050565b60006020828403121561186357600080fd5b815161078c81611358565b818103818111156103ae57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220af29363f0b5b590de90c66036f7c92630ae05ebe87d1c59c2165cfd7b0130aef64736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000b46616e546573745061636b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034654500000000000000000000000000000000000000000000000000000000000