[ { "inputs": [ { "internalType": "address", "name": "_endpoint", "type": "address" }, { "internalType": "uint256", "name": "startId", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" }, { "internalType": "uint256", "name": "_fee", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "counter", "type": "uint256" } ], "name": "ReceiveNFT", "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" }, { "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": [], "name": "buyMint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_destination", "type": "bytes" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "crossChain", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "endpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpoint", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_dstChainId", "type": "uint16" }, { "internalType": "address", "name": "_userApplication", "type": "address" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" }, { "internalType": "bool", "name": "_payInZRO", "type": "bool" }, { "internalType": "bytes", "name": "_adapterParams", "type": "bytes" } ], "name": "estimateFees", "outputs": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "zroFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_from", "type": "bytes" }, { "internalType": "uint64", "name": "", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "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": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_dstId", "type": "uint256" }, { "internalType": "bytes", "name": "_uaAddress", "type": "bytes" } ], "name": "setUaAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setfix", "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": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uaMap", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" } ]
6080604052600060085560006009556000600a556000600b556101f4600c5562055730600d553480156200003257600080fd5b50604051620028293803806200282983398101604081905262000055916200020d565b604051806040016040528060088152602001674f6d6e694d61736b60c01b815250604051806040016040528060048152602001634d41534b60e01b815250620000ad620000a76200011360201b60201c565b62000117565b8151620000c290600190602085019062000167565b508051620000d890600290602084019062000167565b5050600e80546001600160a01b0319166001600160a01b039690961695909517909455600992909255600c55600a819055600b555062000297565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b82805462000175906200025a565b90600052602060002090601f016020900481019282620001995760008555620001e4565b82601f10620001b457805160ff1916838001178555620001e4565b82800160010185558215620001e4579182015b82811115620001e4578251825591602001919060010190620001c7565b50620001f2929150620001f6565b5090565b5b80821115620001f25760008155600101620001f7565b600080600080608085870312156200022457600080fd5b84516001600160a01b03811681146200023c57600080fd5b60208601516040870151606090970151919890975090945092505050565b600181811c908216806200026f57607f821691505b602082108114156200029157634e487b7160e01b600052602260045260246000fd5b50919050565b61258280620002a76000396000f3fe6080604052600436106101655760003560e01c806370a08231116100d1578063b88d4fde1161008a578063c97f394811610064578063c97f394814610421578063e985e9c514610441578063f2f5d87c1461048a578063f2fde38b146104aa57600080fd5b8063b88d4fde146103ce578063baf1639e146103ee578063c87b56dd1461040157600080fd5b806370a0823114610330578063715018a61461035e5780637f69e6c4146103735780638da5cb5b1461037b57806395d89b4114610399578063a22cb465146103ae57600080fd5b806340a7bb101161012357806340a7bb101461025b57806342842e0e1461029057806355f804b3146102b05780635e280f11146102d05780636352211e146102f0578063655e35be1461031057600080fd5b80621d35671461016a57806301ffc9a71461018c57806306fdde03146101c1578063081812fc146101e3578063095ea7b31461021b57806323b872dd1461023b575b600080fd5b34801561017657600080fd5b5061018a610185366004611c3d565b6104ca565b005b34801561019857600080fd5b506101ac6101a7366004611ce1565b610647565b60405190151581526020015b60405180910390f35b3480156101cd57600080fd5b506101d6610699565b6040516101b89190611d56565b3480156101ef57600080fd5b506102036101fe366004611d69565b61072b565b6040516001600160a01b0390911681526020016101b8565b34801561022757600080fd5b5061018a610236366004611d97565b6107c0565b34801561024757600080fd5b5061018a610256366004611dc3565b6108d6565b34801561026757600080fd5b5061027b610276366004611e5d565b610907565b604080519283526020830191909152016101b8565b34801561029c57600080fd5b5061018a6102ab366004611dc3565b6109a7565b3480156102bc57600080fd5b5061018a6102cb366004611f04565b6109c2565b3480156102dc57600080fd5b50600e54610203906001600160a01b031681565b3480156102fc57600080fd5b5061020361030b366004611d69565b610a28565b34801561031c57600080fd5b5061018a61032b366004611f4d565b610a9f565b34801561033c57600080fd5b5061035061034b366004611f99565b610ae8565b6040519081526020016101b8565b34801561036a57600080fd5b5061018a610b6f565b61018a610ba5565b34801561038757600080fd5b506000546001600160a01b0316610203565b3480156103a557600080fd5b506101d6610c6b565b3480156103ba57600080fd5b5061018a6103c9366004611fb6565b610c7a565b3480156103da57600080fd5b5061018a6103e9366004611feb565b610c85565b61018a6103fc36600461204b565b610cb7565b34801561040d57600080fd5b506101d661041c366004611d69565b610ee3565b34801561042d57600080fd5b5061018a61043c366004611d97565b610fcb565b34801561044d57600080fd5b506101ac61045c3660046120a5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561049657600080fd5b506101d66104a5366004611d69565b6110b0565b3480156104b657600080fd5b5061018a6104c5366004611f99565b61114a565b600e546001600160a01b031633146104e157600080fd5b61ffff84166000908152600f6020526040902080546104ff906120de565b9050835114801561053e575061ffff84166000908152600f602052604090819020905161052c9190612119565b60405180910390208380519060200120145b6105a25760405162461bcd60e51b815260206004820152602a60248201527f43616c6c206d7573742073656e642066726f6d2076616c69642075736572206160448201526938383634b1b0ba34b7b760b11b60648201526084015b60405180910390fd5b600060148401519050600080838060200190518101906105c291906121b5565b915091506105d082826111e5565b6001600860008282546105e391906121f9565b90915550506008546040805161ffff8a1681526001600160a01b03851660208201528082018490526060810192909252517fec16668a9529c4fc256054f3e18620ef50c89aec357376cce821207ff1e656f09181900360800190a150505050505050565b60006001600160e01b031982166380ac58cd60e01b148061067857506001600160e01b03198216635b5e139f60e01b145b8061069357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546106a8906120de565b80601f01602080910402602001604051908101604052809291908181526020018280546106d4906120de565b80156107215780601f106106f657610100808354040283529160200191610721565b820191906000526020600020905b81548152906001019060200180831161070457829003601f168201915b5050505050905090565b6000818152600360205260408120546001600160a01b03166107a45760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610599565b506000908152600560205260409020546001600160a01b031690565b60006107cb82610a28565b9050806001600160a01b0316836001600160a01b031614156108395760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610599565b336001600160a01b03821614806108555750610855813361045c565b6108c75760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610599565b6108d183836111ff565b505050565b6108e0338261126d565b6108fc5760405162461bcd60e51b815260040161059990612211565b6108d1838383611364565b600e5460405163040a7bb160e41b815260009182916001600160a01b03909116906340a7bb1090610948908c908c908c908c908c908c908c9060040161228b565b604080518083038186803b15801561095f57600080fd5b505afa158015610973573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099791906122e3565b9150915097509795505050505050565b6108d183838360405180602001604052806000815250610c85565b7368ecf81bcfccabc0e296841faa66c4a00b2819db3314610a115760405162461bcd60e51b815260206004820152600960248201526827b7363ca7bbb732b960b91b6044820152606401610599565b8051610a24906007906020840190611a6d565b5050565b6000818152600360205260408120546001600160a01b0316806106935760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610599565b6000546001600160a01b03163314610ac95760405162461bcd60e51b815260040161059990612307565b6000838152600f60205260409020610ae2908383611af1565b50505050565b60006001600160a01b038216610b535760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610599565b506001600160a01b031660009081526004602052604090205490565b6000546001600160a01b03163314610b995760405162461bcd60e51b815260040161059990612307565b610ba36000611500565b565b600c54600954610bb69060016121f9565b1115610bf55760405162461bcd60e51b815260206004820152600e60248201526d4578636565647320737570706c7960901b6044820152606401610599565b600a54341015610c0457600080fd5b6032600b54610c139190612352565b600a6000828254610c2491906121f9565b92505081905550600160096000828254610c3e91906121f9565b92505081905550610c51336009546111e5565b600160086000828254610c6491906121f9565b9091555050565b6060600280546106a8906120de565b610a24338383611550565b610c8f338361126d565b610cab5760405162461bcd60e51b815260040161059990612211565b610ae28484848461161f565b610cc081610a28565b6001600160a01b0316336001600160a01b031614610d105760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b6044820152606401610599565b610d1981611652565b600160086000828254610d2c9190612366565b909155505060408051336020820152808201839052815180820383018152606082018352600d54600160f01b60808401526082808401919091528351808403909101815260a2830193849052600e5463040a7bb160e41b90945290926001926000916001600160a01b0316906340a7bb1090610db4908b90309089908790899060a60161237d565b604080518083038186803b158015610dcb57600080fd5b505afa158015610ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0391906122e3565b50905080341015610e695760405162461bcd60e51b815260206004820152602a60248201527f4d7573742073656e6420656e6f7567682076616c756520746f20636f766572206044820152696d65737361676546656560b01b6064820152608401610599565b600e5460405162c5803160e81b81526001600160a01b039091169063c5803100903490610ea7908c908c908c908b9033906000908c906004016123d1565b6000604051808303818588803b158015610ec057600080fd5b505af1158015610ed4573d6000803e3d6000fd5b50505050505050505050505050565b6000818152600360205260409020546060906001600160a01b0316610f625760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610599565b6000610f7960408051602081019091526000815290565b90506000815111610f995760405180602001604052806000815250610fc4565b80610fa3846116ed565b604051602001610fb492919061242c565b6040516020818303038152906040525b9392505050565b7368ecf81bcfccabc0e296841faa66c4a00b2819db331461101a5760405162461bcd60e51b815260206004820152600960248201526827b7363ca7bbb732b960b91b6044820152606401610599565b600080836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611068576040519150601f19603f3d011682016040523d82523d6000602084013e61106d565b606091505b509150915081610ae25760405162461bcd60e51b815260206004820152600e60248201526d4861766520612070726f626c656d60901b6044820152606401610599565b600f60205260009081526040902080546110c9906120de565b80601f01602080910402602001604051908101604052809291908181526020018280546110f5906120de565b80156111425780601f1061111757610100808354040283529160200191611142565b820191906000526020600020905b81548152906001019060200180831161112557829003601f168201915b505050505081565b6000546001600160a01b031633146111745760405162461bcd60e51b815260040161059990612307565b6001600160a01b0381166111d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610599565b6111e281611500565b50565b610a248282604051806020016040528060008152506117eb565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061123482610a28565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600360205260408120546001600160a01b03166112e65760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610599565b60006112f183610a28565b9050806001600160a01b0316846001600160a01b0316148061132c5750836001600160a01b03166113218461072b565b6001600160a01b0316145b8061135c57506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b031661137782610a28565b6001600160a01b0316146113db5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610599565b6001600160a01b03821661143d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610599565b6114486000826111ff565b6001600160a01b0383166000908152600460205260408120805460019290611471908490612366565b90915550506001600160a01b038216600090815260046020526040812080546001929061149f9084906121f9565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b031614156115b25760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610599565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61162a848484611364565b6116368484848461181e565b610ae25760405162461bcd60e51b81526004016105999061245b565b600061165d82610a28565b905061166a6000836111ff565b6001600160a01b0381166000908152600460205260408120805460019290611693908490612366565b909155505060008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6060816117115750506040805180820190915260018152600360fc1b602082015290565b8160005b811561173b5780611725816124ad565b91506117349050600a83612352565b9150611715565b60008167ffffffffffffffff81111561175657611756611b91565b6040519080825280601f01601f191660200182016040528015611780576020820181803683370190505b5090505b841561135c57611795600183612366565b91506117a2600a866124c8565b6117ad9060306121f9565b60f81b8183815181106117c2576117c26124dc565b60200101906001600160f81b031916908160001a9053506117e4600a86612352565b9450611784565b6117f5838361192b565b611802600084848461181e565b6108d15760405162461bcd60e51b81526004016105999061245b565b60006001600160a01b0384163b1561192057604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906118629033908990889088906004016124f2565b602060405180830381600087803b15801561187c57600080fd5b505af19250505080156118ac575060408051601f3d908101601f191682019092526118a99181019061252f565b60015b611906573d8080156118da576040519150601f19603f3d011682016040523d82523d6000602084013e6118df565b606091505b5080516118fe5760405162461bcd60e51b81526004016105999061245b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061135c565b506001949350505050565b6001600160a01b0382166119815760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610599565b6000818152600360205260409020546001600160a01b0316156119e65760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610599565b6001600160a01b0382166000908152600460205260408120805460019290611a0f9084906121f9565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611a79906120de565b90600052602060002090601f016020900481019282611a9b5760008555611ae1565b82601f10611ab457805160ff1916838001178555611ae1565b82800160010185558215611ae1579182015b82811115611ae1578251825591602001919060010190611ac6565b50611aed929150611b65565b5090565b828054611afd906120de565b90600052602060002090601f016020900481019282611b1f5760008555611ae1565b82601f10611b385782800160ff19823516178555611ae1565b82800160010185558215611ae1579182015b82811115611ae1578235825591602001919060010190611b4a565b5b80821115611aed5760008155600101611b66565b803561ffff81168114611b8c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611bc257611bc2611b91565b604051601f8501601f19908116603f01168101908282118183101715611bea57611bea611b91565b81604052809350858152868686011115611c0357600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611c2e57600080fd5b610fc483833560208501611ba7565b60008060008060808587031215611c5357600080fd5b611c5c85611b7a565b9350602085013567ffffffffffffffff80821115611c7957600080fd5b611c8588838901611c1d565b9450604087013591508082168214611c9c57600080fd5b90925060608601359080821115611cb257600080fd5b50611cbf87828801611c1d565b91505092959194509250565b6001600160e01b0319811681146111e257600080fd5b600060208284031215611cf357600080fd5b8135610fc481611ccb565b60005b83811015611d19578181015183820152602001611d01565b83811115610ae25750506000910152565b60008151808452611d42816020860160208601611cfe565b601f01601f19169290920160200192915050565b602081526000610fc46020830184611d2a565b600060208284031215611d7b57600080fd5b5035919050565b6001600160a01b03811681146111e257600080fd5b60008060408385031215611daa57600080fd5b8235611db581611d82565b946020939093013593505050565b600080600060608486031215611dd857600080fd5b8335611de381611d82565b92506020840135611df381611d82565b929592945050506040919091013590565b60008083601f840112611e1657600080fd5b50813567ffffffffffffffff811115611e2e57600080fd5b602083019150836020828501011115611e4657600080fd5b9250929050565b80358015158114611b8c57600080fd5b600080600080600080600060a0888a031215611e7857600080fd5b611e8188611b7a565b96506020880135611e9181611d82565b9550604088013567ffffffffffffffff80821115611eae57600080fd5b611eba8b838c01611e04565b9097509550859150611ece60608b01611e4d565b945060808a0135915080821115611ee457600080fd5b50611ef18a828b01611e04565b989b979a50959850939692959293505050565b600060208284031215611f1657600080fd5b813567ffffffffffffffff811115611f2d57600080fd5b8201601f81018413611f3e57600080fd5b61135c84823560208401611ba7565b600080600060408486031215611f6257600080fd5b83359250602084013567ffffffffffffffff811115611f8057600080fd5b611f8c86828701611e04565b9497909650939450505050565b600060208284031215611fab57600080fd5b8135610fc481611d82565b60008060408385031215611fc957600080fd5b8235611fd481611d82565b9150611fe260208401611e4d565b90509250929050565b6000806000806080858703121561200157600080fd5b843561200c81611d82565b9350602085013561201c81611d82565b925060408501359150606085013567ffffffffffffffff81111561203f57600080fd5b611cbf87828801611c1d565b6000806000806060858703121561206157600080fd5b61206a85611b7a565b9350602085013567ffffffffffffffff81111561208657600080fd5b61209287828801611e04565b9598909750949560400135949350505050565b600080604083850312156120b857600080fd5b82356120c381611d82565b915060208301356120d381611d82565b809150509250929050565b600181811c908216806120f257607f821691505b6020821081141561211357634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c91508083168061213557607f831692505b602080841082141561215557634e487b7160e01b86526022600452602486fd5b818015612169576001811461217a576121a7565b60ff198616895284890196506121a7565b60008a81526020902060005b8681101561219f5781548b820152908501908301612186565b505084890196505b509498975050505050505050565b600080604083850312156121c857600080fd5b82516121d381611d82565b6020939093015192949293505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561220c5761220c6121e3565b500190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b61ffff881681526001600160a01b038716602082015260a0604082018190526000906122ba9083018789612262565b851515606084015282810360808401526122d5818587612262565b9a9950505050505050505050565b600080604083850312156122f657600080fd5b505080516020909101519092909150565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826123615761236161233c565b500490565b600082821015612378576123786121e3565b500390565b61ffff861681526001600160a01b038516602082015260a0604082018190526000906123ab90830186611d2a565b841515606084015282810360808401526123c58185611d2a565b98975050505050505050565b61ffff8816815260c0602082015260006123ef60c08301888a612262565b82810360408401526124018188611d2a565b6001600160a01b0387811660608601528616608085015283810360a085015290506122d58185611d2a565b6000835161243e818460208801611cfe565b835190830190612452818360208801611cfe565b01949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60006000198214156124c1576124c16121e3565b5060010190565b6000826124d7576124d761233c565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061252590830184611d2a565b9695505050505050565b60006020828403121561254157600080fd5b8151610fc481611ccb56fea264697066735822122099593d06b5fd5adcd851a611bfa68b4207110e967abe0ba17a8bf29948e02cee64736f6c634300080900330000000000000000000000003c2269811836af69497e5f486a85d7316753cf6200000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000005dc00000000000000000000000000000000000000000000000000071afd498d0000