[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint96", "name": "_royalties_rate", "type": "uint96" }, { "internalType": "address", "name": "_royalties_recipient", "type": "address" }, { "internalType": "address", "name": "_kalao_contract", "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": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": "NFT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "uint256", "name": "id", "type": "uint256" } ], "name": "exists", "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": "kalao_contract", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "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": "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": "string", "name": "newuri", "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": "id", "type": "uint256" } ], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60a06040819052600060808190526200001b9160039162000269565b503480156200002957600080fd5b5060405162002782380380620027828339810160408190526200004c91620003df565b6040805160208101909152600081526200006681620000f9565b50620000723362000112565b84516200008790600b90602088019062000269565b5083516200009d90600c90602087019062000269565b50600a80546001600160a01b0319166001600160a01b0383161790556001600160601b03831615801590620000dc57506103e8836001600160601b0316105b15620000ee57620000ee828462000164565b5050505050620004df565b80516200010e90600290602084019062000269565b5050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115620001d85760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620002305760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620001cf565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600755565b82805462000277906200048c565b90600052602060002090601f0160209004810192826200029b5760008555620002e6565b82601f10620002b657805160ff1916838001178555620002e6565b82800160010185558215620002e6579182015b82811115620002e6578251825591602001919060010190620002c9565b50620002f4929150620002f8565b5090565b5b80821115620002f45760008155600101620002f9565b80516001600160a01b03811681146200032757600080fd5b919050565b600082601f8301126200033d578081fd5b81516001600160401b03808211156200035a576200035a620004c9565b604051601f8301601f19908116603f01168101908282118183101715620003855762000385620004c9565b81604052838152602092508683858801011115620003a1578485fd5b8491505b83821015620003c45785820183015181830184015290820190620003a5565b83821115620003d557848385830101525b9695505050505050565b600080600080600060a08688031215620003f7578081fd5b85516001600160401b03808211156200040e578283fd5b6200041c89838a016200032c565b9650602088015191508082111562000432578283fd5b5062000441888289016200032c565b604088015190955090506001600160601b038116811462000460578182fd5b925062000470606087016200030f565b915062000480608087016200030f565b90509295509295909350565b600181811c90821680620004a157607f821691505b60208210811415620004c357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61229380620004ef6000396000f3fe608060405234801561001057600080fd5b506004361061016b5760003560e01c80637c0b8de2116100cd578063bd85b03911610081578063e985e9c511610066578063e985e9c51461030e578063f242432a1461034a578063f2fde38b1461035d5761016b565b8063bd85b039146102db578063d3fc9864146102fb5761016b565b806395d89b41116100b257806395d89b41146102ad578063a22cb465146102b5578063bad03aef146102c85761016b565b80637c0b8de2146102855780638da5cb5b1461028d5761016b565b80632a55205a116101245780634e1273f4116101095780634e1273f41461023b5780634f558e791461025b578063715018a61461027d5761016b565b80632a55205a146101f65780632eb2c2d6146102285761016b565b806302fe53051161015557806302fe5305146101b957806306fdde03146101ce5780630e89341c146101e35761016b565b8062fdd58e1461017057806301ffc9a714610196575b600080fd5b61018361017e366004611c3f565b610370565b6040519081526020015b60405180910390f35b6101a96101a4366004611d88565b610419565b604051901515815260200161018d565b6101cc6101c7366004611dc0565b61042c565b005b6101d6610497565b60405161018d9190612035565b6101d66101f1366004611dfb565b610525565b610209610204366004611e13565b610530565b604080516001600160a01b03909316835260208301919091520161018d565b6101cc610236366004611afc565b6105eb565b61024e610249366004611cbd565b61068d565b60405161018d9190611ffd565b6101a9610269366004611dfb565b600090815260066020526040902054151590565b6101cc610803565b610183600081565b61029561086e565b6040516001600160a01b03909116815260200161018d565b6101d661087e565b6101cc6102c3366004611c05565b61088b565b600a54610295906001600160a01b031681565b6101836102e9366004611dfb565b60009081526006602052604090205490565b6101cc610309366004611c68565b61089a565b6101a961031c366004611aca565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6101cc610358366004611ba2565b6108f9565b6101cc61036b366004611ab0565b610994565b60006001600160a01b0383166103f35760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b600061042482610a78565b90505b919050565b3361043561086e565b6001600160a01b03161461048b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b61049481610ab6565b50565b600b80546104a4906120ef565b80601f01602080910402602001604051908101604052809291908181526020018280546104d0906120ef565b801561051d5780601f106104f25761010080835404028352916020019161051d565b820191906000526020600020905b81548152906001019060200180831161050057829003601f168201915b505050505081565b606061042482610ac9565b60008281526008602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff169282019290925282916105af5750604080518082019091526007546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b6020810151600090612710906105d3906bffffffffffffffffffffffff16876120a4565b6105dd9190612084565b915196919550909350505050565b6001600160a01b0385163314806106075750610607853361031c565b6106795760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f766564000000000000000000000000000060648201526084016103ea565b6106868585858585610ba9565b5050505050565b606081518351146107065760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d61746368000000000000000000000000000000000000000000000060648201526084016103ea565b6000835167ffffffffffffffff81111561073057634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610759578160200160208202803683370190505b50905060005b84518110156107fb576107c085828151811061078b57634e487b7160e01b600052603260045260246000fd5b60200260200101518583815181106107b357634e487b7160e01b600052603260045260246000fd5b6020026020010151610370565b8282815181106107e057634e487b7160e01b600052603260045260246000fd5b60209081029190910101526107f481612157565b905061075f565b509392505050565b3361080c61086e565b6001600160a01b0316146108625760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b61086c6000610e46565b565b6005546001600160a01b03165b90565b600c80546104a4906120ef565b610896338383610eb0565b5050565b60006108a560095490565b90506108b5600980546001019055565b6108d084828560405180602001604052806000815250610fa5565b6108da81836110e4565b600a546108f39085906001600160a01b03166001610eb0565b50505050565b6001600160a01b0385163314806109155750610915853361031c565b6109875760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f766564000000000000000000000000000000000000000000000060648201526084016103ea565b6106868585858585611148565b3361099d61086e565b6001600160a01b0316146109f35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b6001600160a01b038116610a6f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103ea565b61049481610e46565b60006001600160e01b031982167f2a55205a000000000000000000000000000000000000000000000000000000001480610424575061042482611301565b805161089690600290602084019061191d565b600081815260046020526040812080546060929190610ae7906120ef565b80601f0160208091040260200160405190810160405280929190818152602001828054610b13906120ef565b8015610b605780601f10610b3557610100808354040283529160200191610b60565b820191906000526020600020905b815481529060010190602001808311610b4357829003601f168201915b505050505090506000815111610b7e57610b798361139c565b610ba2565b600381604051602001610b92929190611eb6565b6040516020818303038152906040525b9392505050565b8151835114610c205760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d6174636800000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b038416610c845760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016103ea565b33610c93818787878787611430565b60005b8451811015610dd8576000858281518110610cc157634e487b7160e01b600052603260045260246000fd5b602002602001015190506000858381518110610ced57634e487b7160e01b600052603260045260246000fd5b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610d805760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b60648201526084016103ea565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610dbd90849061206c565b9250508190555050505080610dd190612157565b9050610c96565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610e28929190612010565b60405180910390a4610e3e81878787878761143e565b505050505050565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03161415610f385760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166110215760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016103ea565b33600061102d856115f3565b9050600061103a856115f3565b905061104b83600089858589611430565b6000868152602081815260408083206001600160a01b038b1684529091528120805487929061107b90849061206c565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46110db8360008989898961164c565b50505050505050565b600082815260046020908152604090912082516111039284019061191d565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b61112f84610525565b60405161113c9190612035565b60405180910390a25050565b6001600160a01b0384166111ac5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016103ea565b3360006111b8856115f3565b905060006111c5856115f3565b90506111d5838989858589611430565b6000868152602081815260408083206001600160a01b038c168452909152902054858110156112595760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b60648201526084016103ea565b6000878152602081815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061129690849061206c565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46112f6848a8a8a8a8a61164c565b505050505050505050565b60006001600160e01b031982167fd9b67a2600000000000000000000000000000000000000000000000000000000148061136457506001600160e01b031982167f0e89341c00000000000000000000000000000000000000000000000000000000145b8061042457507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614610424565b6060600280546113ab906120ef565b80601f01602080910402602001604051908101604052809291908181526020018280546113d7906120ef565b80156114245780601f106113f957610100808354040283529160200191611424565b820191906000526020600020905b81548152906001019060200180831161140757829003601f168201915b50505050509050919050565b610e3e868686868686611757565b6001600160a01b0384163b15610e3e5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906114829089908990889088908890600401611f5c565b602060405180830381600087803b15801561149c57600080fd5b505af19250505080156114cc575060408051601f3d908101601f191682019092526114c991810190611da4565b60015b611582576114d861219e565b806308c379a0141561151257506114ed6121b5565b806114f85750611514565b8060405162461bcd60e51b81526004016103ea9190612035565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e74657200000000000000000000000060648201526084016103ea565b6001600160e01b0319811663bc197c8160e01b146110db5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b60648201526084016103ea565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061163b57634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b15610e3e5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906116909089908990889088908890600401611fba565b602060405180830381600087803b1580156116aa57600080fd5b505af19250505080156116da575060408051601f3d908101601f191682019092526116d791810190611da4565b60015b6116e6576114d861219e565b6001600160e01b0319811663f23a6e6160e01b146110db5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b60648201526084016103ea565b6001600160a01b0385166117fa5760005b83518110156117f85782818151811061179157634e487b7160e01b600052603260045260246000fd5b6020026020010151600660008684815181106117bd57634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008282546117e2919061206c565b909155506117f1905081612157565b9050611768565b505b6001600160a01b038416610e3e5760005b83518110156110db57600084828151811061183657634e487b7160e01b600052603260045260246000fd5b60200260200101519050600084838151811061186257634e487b7160e01b600052603260045260246000fd5b60200260200101519050600060066000848152602001908152602001600020549050818110156118fa5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f7460448201527f616c537570706c7900000000000000000000000000000000000000000000000060648201526084016103ea565b6000928352600660205260409092209103905561191681612157565b905061180b565b828054611929906120ef565b90600052602060002090601f01602090048101928261194b5760008555611991565b82601f1061196457805160ff1916838001178555611991565b82800160010185558215611991579182015b82811115611991578251825591602001919060010190611976565b5061199d9291506119a1565b5090565b5b8082111561199d57600081556001016119a2565b80356001600160a01b038116811461042757600080fd5b600082601f8301126119dd578081fd5b813560206119ea82612048565b6040516119f7828261212a565b8381528281019150858301600585901b87018401881015611a16578586fd5b855b85811015611a3457813584529284019290840190600101611a18565b5090979650505050505050565b600082601f830112611a51578081fd5b813567ffffffffffffffff811115611a6b57611a6b612188565b604051611a82601f8301601f19166020018261212a565b818152846020838601011115611a96578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611ac1578081fd5b610ba2826119b6565b60008060408385031215611adc578081fd5b611ae5836119b6565b9150611af3602084016119b6565b90509250929050565b600080600080600060a08688031215611b13578081fd5b611b1c866119b6565b9450611b2a602087016119b6565b9350604086013567ffffffffffffffff80821115611b46578283fd5b611b5289838a016119cd565b94506060880135915080821115611b67578283fd5b611b7389838a016119cd565b93506080880135915080821115611b88578283fd5b50611b9588828901611a41565b9150509295509295909350565b600080600080600060a08688031215611bb9578081fd5b611bc2866119b6565b9450611bd0602087016119b6565b93506040860135925060608601359150608086013567ffffffffffffffff811115611bf9578182fd5b611b9588828901611a41565b60008060408385031215611c17578182fd5b611c20836119b6565b915060208301358015158114611c34578182fd5b809150509250929050565b60008060408385031215611c51578182fd5b611c5a836119b6565b946020939093013593505050565b600080600060608486031215611c7c578283fd5b611c85846119b6565b925060208401359150604084013567ffffffffffffffff811115611ca7578182fd5b611cb386828701611a41565b9150509250925092565b60008060408385031215611ccf578182fd5b823567ffffffffffffffff80821115611ce6578384fd5b818501915085601f830112611cf9578384fd5b81356020611d0682612048565b604051611d13828261212a565b8381528281019150858301600585901b870184018b1015611d32578889fd5b8896505b84871015611d5b57611d47816119b6565b835260019690960195918301918301611d36565b5096505086013592505080821115611d71578283fd5b50611d7e858286016119cd565b9150509250929050565b600060208284031215611d99578081fd5b8135610ba281612247565b600060208284031215611db5578081fd5b8151610ba281612247565b600060208284031215611dd1578081fd5b813567ffffffffffffffff811115611de7578182fd5b611df384828501611a41565b949350505050565b600060208284031215611e0c578081fd5b5035919050565b60008060408385031215611e25578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b83811015611e6357815187529582019590820190600101611e47565b509495945050505050565b60008151808452611e868160208601602086016120c3565b601f01601f19169290920160200192915050565b60008151611eac8185602086016120c3565b9290920192915050565b600080845482600182811c915080831680611ed257607f831692505b6020808410821415611ef257634e487b7160e01b87526022600452602487fd5b818015611f065760018114611f1757611f43565b60ff19861689528489019650611f43565b60008b815260209020885b86811015611f3b5781548b820152908501908301611f22565b505084890196505b505050505050611f538185611e9a565b95945050505050565b60006001600160a01b03808816835280871660208401525060a06040830152611f8860a0830186611e34565b8281036060840152611f9a8186611e34565b90508281036080840152611fae8185611e6e565b98975050505050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a06080830152611ff260a0830184611e6e565b979650505050505050565b600060208252610ba26020830184611e34565b6000604082526120236040830185611e34565b8281036020840152611f538185611e34565b600060208252610ba26020830184611e6e565b600067ffffffffffffffff82111561206257612062612188565b5060051b60200190565b6000821982111561207f5761207f612172565b500190565b60008261209f57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156120be576120be612172565b500290565b60005b838110156120de5781810151838201526020016120c6565b838111156108f35750506000910152565b600181811c9082168061210357607f821691505b6020821081141561212457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff8111828210171561215057612150612188565b6040525050565b600060001982141561216b5761216b612172565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561087b57600481823e5160e01c90565b600060443d10156121c55761087b565b6040516003193d81016004833e81513d67ffffffffffffffff81602484011181841117156121f757505050505061087b565b82850191508151818111156122115750505050505061087b565b843d870101602082850101111561222d5750505050505061087b565b61223c6020828601018761212a565b509094505050505090565b6001600160e01b03198116811461049457600080fdfea2646970667358221220d0e187685447dbbf4bf1dceea915de87489fc109b3770484203cb0fc2b9a220d64736f6c6343000803003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000bcd111829623ffc6074e3085cf13d9f9a873b033000000000000000000000000eff2357c9e40103ac4d268b32de478e4fbbfc4f0000000000000000000000000000000000000000000000000000000000000000d435944524f4e494320494e432e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006435944524e430000000000000000000000000000000000000000000000000000