@levxdao/airdrop
Version:
[](http://www.wtfpl.net/)
445 lines (444 loc) • 34.3 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "NFTAirdrops2",
"sourceName": "contracts/NFTAirdrops2.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_nftContract",
"type": "address"
},
{
"internalType": "uint256",
"name": "fromTokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "slug",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint32",
"name": "deadline",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "max",
"type": "uint32"
}
],
"name": "Add",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "slug",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Claim",
"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": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "bool",
"name": "isMinter",
"type": "bool"
}
],
"name": "SetMinter",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "slug",
"type": "bytes32"
},
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "uint32",
"name": "deadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "max",
"type": "uint32"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "airdrops",
"outputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "uint32",
"name": "deadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "max",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "minted",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "slug",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "claim",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "isMinter",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "tokenIds",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mintBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "nftContract",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "toTokenId",
"type": "uint256"
}
],
"name": "parkTokenIds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "baseURI",
"type": "string"
}
],
"name": "setBaseURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bool",
"name": "_isMinter",
"type": "bool"
}
],
"name": "setMinter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint8",
"name": "_royaltyFee",
"type": "uint8"
}
],
"name": "setRoyaltyFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_royaltyFeeRecipient",
"type": "address"
}
],
"name": "setRoyaltyFeeRecipient",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "string",
"name": "uri",
"type": "string"
}
],
"name": "setTokenURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnershipOfNFTContract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b506040516118f33803806118f383398101604081905261002f916100a8565b818161003a33610058565b60609190911b6001600160601b031916608052600455506100e09050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080604083850312156100ba578182fd5b82516001600160a01b03811681146100d0578283fd5b6020939093015192949293505050565b60805160601c6117b661013d6000396000818161023a0152818161034f01528181610439015281816105fc015281816106a8015281816109c401528181610a8a01528181610b6c01528181610c1f0152610d2a01526117b66000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063cf456ae711610071578063cf456ae714610222578063d56d229d14610235578063ddb5fa6a1461025c578063ee583c691461026f578063f2fde38b146102f25761010b565b80638da5cb5b1461019f57806394d008ef146101c9578063aa271e1a146101dc578063c975e3741461020f5761010b565b80635f7ef2fa116100de5780635f7ef2fa1461015e5780636547bea7146101715780636ef8e02d14610184578063715018a6146101975761010b565b8063162094c414610110578063228624821461012557806345db20721461013857806355f804b31461014b575b600080fd5b61012361011e366004611541565b610305565b005b6101236101333660046112db565b6103bc565b610123610146366004611431565b6104af565b610123610159366004611506565b6105bb565b61012361016c366004611586565b610666565b61012361017f36600461147d565b6106df565b6101236101923660046112ba565b610a41565b610123610ab9565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6101236101d73660046113c1565b610aef565b6101ff6101ea3660046112ba565b60026020526000908152604090205460ff1681565b60405190151581526020016101c0565b61012361021d366004611419565b610bdf565b610123610230366004611387565b610c56565b6101ac7f000000000000000000000000000000000000000000000000000000000000000081565b61012361026a3660046112ba565b610ce1565b6102bc61027d366004611419565b6001602052600090815260409020546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041684565b604080516001600160a01b03909516855263ffffffff9384166020860152918316918401919091521660608201526080016101c0565b6101236103003660046112ba565b610d59565b6000546001600160a01b031633146103385760405162461bcd60e51b815260040161032f906116c3565b60405180910390fd5b604051630588253160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063162094c49061038690859085906004016116f8565b600060405180830381600087803b1580156103a057600080fd5b505af11580156103b4573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314806103e457503360009081526002602052604090205460ff165b6104225760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b604482015260640161032f565b604051631143124160e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906322862482906104769088908890889088908890600401611615565b600060405180830381600087803b15801561049057600080fd5b505af11580156104a4573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146104d95760405162461bcd60e51b815260040161032f906116c3565b600084815260016020526040902080546001600160a01b03161561052d5760405162461bcd60e51b815260206004820152600b60248201526a131155960e88105111115160aa1b604482015260640161032f565b80546001600160a01b0385166001600160c01b03199091168117600160a01b63ffffffff8681169182029290921763ffffffff60c01b1916600160c01b92861692830217845560408051938452602084019190915282015285907ff4176d73079b7d9ff010680a986ea6740b21228d954533585342889c7dab8df99060600160405180910390a25050505050565b6000546001600160a01b031633146105e55760405162461bcd60e51b815260040161032f906116c3565b6040516355f804b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906355f804b3906106319084906004016116b0565b600060405180830381600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146106905760405162461bcd60e51b815260040161032f906116c3565b604051632fbf797d60e11b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635f7ef2fa90602401610631565b600088815260016020526040902080546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b909104168361075e5760405162461bcd60e51b81526020600482015260126024820152714c4556583a20494e56414c49445f534c554760701b604482015260640161032f565b63ffffffff8316158061077c57508263ffffffff164263ffffffff16105b6107b85760405162461bcd60e51b815260206004820152600d60248201526c131155960e8811561412549151609a1b604482015260640161032f565b63ffffffff821615806107d657508163ffffffff168163ffffffff16105b6108135760405162461bcd60e51b815260206004820152600e60248201526d131155960e881192539254d2115160921b604482015260640161032f565b60008d81526003602090815260408083208f845290915290205460ff161561086c5760405162461bcd60e51b815260206004820152600c60248201526b131155960e8813525395115160a21b604482015260640161032f565b60408051602081018f90529081018d9052600090606001604051602081830303815290604052805190602001209050846001600160a01b03166108b96108b183610df4565b8e8e8e610e48565b6001600160a01b0316146109045760405162461bcd60e51b8152602060048201526012602482015271131155960e8815539055551213d49256915160721b604482015260640161032f565b50610910816001611711565b855463ffffffff91909116600160e01b026001600160e01b0390911617855560008d81526003602090815260408083208f84529091528120805460ff1916600117905560048054908261096283611739565b919050559050886001600160a01b03168d8f7fea411cc9e811421ea286583e11debae94e99652881b9f63d34cfcbdc3a05f14d846040516109a591815260200190565b60405180910390a46040516394d008ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906394d008ef906109ff908c9085908d908d9060040161167e565b600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505050505050505050505050505050565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b815260040161032f906116c3565b604051636ef8e02d60e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690636ef8e02d90602401610631565b6000546001600160a01b03163314610ae35760405162461bcd60e51b815260040161032f906116c3565b610aed6000610e70565b565b6000546001600160a01b0316331480610b1757503360009081526002602052604090205460ff165b610b555760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b604482015260640161032f565b6040516394d008ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906394d008ef90610ba790879087908790879060040161167e565b600060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314610c095760405162461bcd60e51b815260040161032f906116c3565b60405163325d78dd60e21b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c975e37490602401610631565b6000546001600160a01b03163314610c805760405162461bcd60e51b815260040161032f906116c3565b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155915192835290917f1f96bc657d385fd83da973a43f2ad969e6d96b6779b779571a7306db7ca1cd00910160405180910390a25050565b6000546001600160a01b03163314610d0b5760405162461bcd60e51b815260040161032f906116c3565b60405163f2fde38b60e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401610631565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260040161032f906116c3565b6001600160a01b038116610de85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161032f565b610df181610e70565b50565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016040516020818303038152906040528051906020012090505b919050565b6000806000610e5987878787610ec0565b91509150610e6681610fad565b5095945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610ef75750600090506003610fa4565b8460ff16601b14158015610f0f57508460ff16601c14155b15610f205750600090506004610fa4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610f74573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f9d57600060019250925050610fa4565b9150600090505b94509492505050565b6000816004811115610fcf57634e487b7160e01b600052602160045260246000fd5b1415610fda57610df1565b6001816004811115610ffc57634e487b7160e01b600052602160045260246000fd5b141561104a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161032f565b600281600481111561106c57634e487b7160e01b600052602160045260246000fd5b14156110ba5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161032f565b60038160048111156110dc57634e487b7160e01b600052602160045260246000fd5b14156111355760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161032f565b600481600481111561115757634e487b7160e01b600052602160045260246000fd5b1415610df15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161032f565b80356001600160a01b0381168114610e4357600080fd5b60008083601f8401126111d8578182fd5b50813567ffffffffffffffff8111156111ef578182fd5b60208301915083602082850101111561120757600080fd5b9250929050565b600082601f83011261121e578081fd5b813567ffffffffffffffff808211156112395761123961176a565b604051601f8301601f19908116603f011681019082821181831017156112615761126161176a565b81604052838152866020858801011115611279578485fd5b8360208701602083013792830160200193909352509392505050565b803563ffffffff81168114610e4357600080fd5b803560ff81168114610e4357600080fd5b6000602082840312156112cb578081fd5b6112d4826111b0565b9392505050565b6000806000806000606086880312156112f2578081fd5b6112fb866111b0565b9450602086013567ffffffffffffffff80821115611317578283fd5b818801915088601f83011261132a578283fd5b813581811115611338578384fd5b8960208260051b850101111561134c578384fd5b602083019650809550506040880135915080821115611369578283fd5b50611376888289016111c7565b969995985093965092949392505050565b60008060408385031215611399578182fd5b6113a2836111b0565b9150602083013580151581146113b6578182fd5b809150509250929050565b600080600080606085870312156113d6578384fd5b6113df856111b0565b935060208501359250604085013567ffffffffffffffff811115611401578283fd5b61140d878288016111c7565b95989497509550505050565b60006020828403121561142a578081fd5b5035919050565b60008060008060808587031215611446578384fd5b84359350611456602086016111b0565b925061146460408601611295565b915061147260608601611295565b905092959194509250565b60008060008060008060008060e0898b031215611498578283fd5b88359750602089013596506114af60408a016112a9565b955060608901359450608089013593506114cb60a08a016111b0565b925060c089013567ffffffffffffffff8111156114e6578283fd5b6114f28b828c016111c7565b999c989b5096995094979396929594505050565b600060208284031215611517578081fd5b813567ffffffffffffffff81111561152d578182fd5b6115398482850161120e565b949350505050565b60008060408385031215611553578182fd5b82359150602083013567ffffffffffffffff811115611570578182fd5b61157c8582860161120e565b9150509250929050565b600060208284031215611597578081fd5b6112d4826112a9565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b818110156115ef576020818501810151868301820152016115d3565b818111156116005782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386168152606060208201819052810184905260006001600160fb1b03851115611644578081fd5b8460051b8087608085013780830190506080810182815260808483030160408501526116718186886115a0565b9998505050505050505050565b600060018060a01b0386168252846020830152606060408301526116a66060830184866115a0565b9695505050505050565b6000602082526112d460208301846115ca565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008382526040602083015261153960408301846115ca565b600063ffffffff80831681851680830382111561173057611730611754565b01949350505050565b600060001982141561174d5761174d611754565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ac06bee9c59f1697b7be35f2dbec8242f9d5922b85967e95a1e56c1159079dde64736f6c63430008030033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638da5cb5b116100a2578063cf456ae711610071578063cf456ae714610222578063d56d229d14610235578063ddb5fa6a1461025c578063ee583c691461026f578063f2fde38b146102f25761010b565b80638da5cb5b1461019f57806394d008ef146101c9578063aa271e1a146101dc578063c975e3741461020f5761010b565b80635f7ef2fa116100de5780635f7ef2fa1461015e5780636547bea7146101715780636ef8e02d14610184578063715018a6146101975761010b565b8063162094c414610110578063228624821461012557806345db20721461013857806355f804b31461014b575b600080fd5b61012361011e366004611541565b610305565b005b6101236101333660046112db565b6103bc565b610123610146366004611431565b6104af565b610123610159366004611506565b6105bb565b61012361016c366004611586565b610666565b61012361017f36600461147d565b6106df565b6101236101923660046112ba565b610a41565b610123610ab9565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6101236101d73660046113c1565b610aef565b6101ff6101ea3660046112ba565b60026020526000908152604090205460ff1681565b60405190151581526020016101c0565b61012361021d366004611419565b610bdf565b610123610230366004611387565b610c56565b6101ac7f000000000000000000000000000000000000000000000000000000000000000081565b61012361026a3660046112ba565b610ce1565b6102bc61027d366004611419565b6001602052600090815260409020546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041684565b604080516001600160a01b03909516855263ffffffff9384166020860152918316918401919091521660608201526080016101c0565b6101236103003660046112ba565b610d59565b6000546001600160a01b031633146103385760405162461bcd60e51b815260040161032f906116c3565b60405180910390fd5b604051630588253160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063162094c49061038690859085906004016116f8565b600060405180830381600087803b1580156103a057600080fd5b505af11580156103b4573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314806103e457503360009081526002602052604090205460ff165b6104225760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b604482015260640161032f565b604051631143124160e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906322862482906104769088908890889088908890600401611615565b600060405180830381600087803b15801561049057600080fd5b505af11580156104a4573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146104d95760405162461bcd60e51b815260040161032f906116c3565b600084815260016020526040902080546001600160a01b03161561052d5760405162461bcd60e51b815260206004820152600b60248201526a131155960e88105111115160aa1b604482015260640161032f565b80546001600160a01b0385166001600160c01b03199091168117600160a01b63ffffffff8681169182029290921763ffffffff60c01b1916600160c01b92861692830217845560408051938452602084019190915282015285907ff4176d73079b7d9ff010680a986ea6740b21228d954533585342889c7dab8df99060600160405180910390a25050505050565b6000546001600160a01b031633146105e55760405162461bcd60e51b815260040161032f906116c3565b6040516355f804b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906355f804b3906106319084906004016116b0565b600060405180830381600087803b15801561064b57600080fd5b505af115801561065f573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146106905760405162461bcd60e51b815260040161032f906116c3565b604051632fbf797d60e11b815260ff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635f7ef2fa90602401610631565b600088815260016020526040902080546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b909104168361075e5760405162461bcd60e51b81526020600482015260126024820152714c4556583a20494e56414c49445f534c554760701b604482015260640161032f565b63ffffffff8316158061077c57508263ffffffff164263ffffffff16105b6107b85760405162461bcd60e51b815260206004820152600d60248201526c131155960e8811561412549151609a1b604482015260640161032f565b63ffffffff821615806107d657508163ffffffff168163ffffffff16105b6108135760405162461bcd60e51b815260206004820152600e60248201526d131155960e881192539254d2115160921b604482015260640161032f565b60008d81526003602090815260408083208f845290915290205460ff161561086c5760405162461bcd60e51b815260206004820152600c60248201526b131155960e8813525395115160a21b604482015260640161032f565b60408051602081018f90529081018d9052600090606001604051602081830303815290604052805190602001209050846001600160a01b03166108b96108b183610df4565b8e8e8e610e48565b6001600160a01b0316146109045760405162461bcd60e51b8152602060048201526012602482015271131155960e8815539055551213d49256915160721b604482015260640161032f565b50610910816001611711565b855463ffffffff91909116600160e01b026001600160e01b0390911617855560008d81526003602090815260408083208f84529091528120805460ff1916600117905560048054908261096283611739565b919050559050886001600160a01b03168d8f7fea411cc9e811421ea286583e11debae94e99652881b9f63d34cfcbdc3a05f14d846040516109a591815260200190565b60405180910390a46040516394d008ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906394d008ef906109ff908c9085908d908d9060040161167e565b600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505050505050505050505050505050565b6000546001600160a01b03163314610a6b5760405162461bcd60e51b815260040161032f906116c3565b604051636ef8e02d60e01b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690636ef8e02d90602401610631565b6000546001600160a01b03163314610ae35760405162461bcd60e51b815260040161032f906116c3565b610aed6000610e70565b565b6000546001600160a01b0316331480610b1757503360009081526002602052604090205460ff165b610b555760405162461bcd60e51b815260206004820152600f60248201526e2622ab2c1d102327a92124a22222a760891b604482015260640161032f565b6040516394d008ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906394d008ef90610ba790879087908790879060040161167e565b600060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314610c095760405162461bcd60e51b815260040161032f906116c3565b60405163325d78dd60e21b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c975e37490602401610631565b6000546001600160a01b03163314610c805760405162461bcd60e51b815260040161032f906116c3565b6001600160a01b038216600081815260026020908152604091829020805460ff1916851515908117909155915192835290917f1f96bc657d385fd83da973a43f2ad969e6d96b6779b779571a7306db7ca1cd00910160405180910390a25050565b6000546001600160a01b03163314610d0b5760405162461bcd60e51b815260040161032f906116c3565b60405163f2fde38b60e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b90602401610631565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260040161032f906116c3565b6001600160a01b038116610de85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161032f565b610df181610e70565b50565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016040516020818303038152906040528051906020012090505b919050565b6000806000610e5987878787610ec0565b91509150610e6681610fad565b5095945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610ef75750600090506003610fa4565b8460ff16601b14158015610f0f57508460ff16601c14155b15610f205750600090506004610fa4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610f74573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f9d57600060019250925050610fa4565b9150600090505b94509492505050565b6000816004811115610fcf57634e487b7160e01b600052602160045260246000fd5b1415610fda57610df1565b6001816004811115610ffc57634e487b7160e01b600052602160045260246000fd5b141561104a5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161032f565b600281600481111561106c57634e487b7160e01b600052602160045260246000fd5b14156110ba5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161032f565b60038160048111156110dc57634e487b7160e01b600052602160045260246000fd5b14156111355760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161032f565b600481600481111561115757634e487b7160e01b600052602160045260246000fd5b1415610df15760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161032f565b80356001600160a01b0381168114610e4357600080fd5b60008083601f8401126111d8578182fd5b50813567ffffffffffffffff8111156111ef578182fd5b60208301915083602082850101111561120757600080fd5b9250929050565b600082601f83011261121e578081fd5b813567ffffffffffffffff808211156112395761123961176a565b604051601f8301601f19908116603f011681019082821181831017156112615761126161176a565b81604052838152866020858801011115611279578485fd5b8360208701602083013792830160200193909352509392505050565b803563ffffffff81168114610e4357600080fd5b803560ff81168114610e4357600080fd5b6000602082840312156112cb578081fd5b6112d4826111b0565b9392505050565b6000806000806000606086880312156112f2578081fd5b6112fb866111b0565b9450602086013567ffffffffffffffff80821115611317578283fd5b818801915088601f83011261132a578283fd5b813581811115611338578384fd5b8960208260051b850101111561134c578384fd5b602083019650809550506040880135915080821115611369578283fd5b50611376888289016111c7565b969995985093965092949392505050565b60008060408385031215611399578182fd5b6113a2836111b0565b9150602083013580151581146113b6578182fd5b809150509250929050565b600080600080606085870312156113d6578384fd5b6113df856111b0565b935060208501359250604085013567ffffffffffffffff811115611401578283fd5b61140d878288016111c7565b95989497509550505050565b60006020828403121561142a578081fd5b5035919050565b60008060008060808587031215611446578384fd5b84359350611456602086016111b0565b925061146460408601611295565b915061147260608601611295565b905092959194509250565b60008060008060008060008060e0898b031215611498578283fd5b88359750602089013596506114af60408a016112a9565b955060608901359450608089013593506114cb60a08a016111b0565b925060c089013567ffffffffffffffff8111156114e6578283fd5b6114f28b828c016111c7565b999c989b5096995094979396929594505050565b600060208284031215611517578081fd5b813567ffffffffffffffff81111561152d578182fd5b6115398482850161120e565b949350505050565b60008060408385031215611553578182fd5b82359150602083013567ffffffffffffffff811115611570578182fd5b61157c8582860161120e565b9150509250929050565b600060208284031215611597578081fd5b6112d4826112a9565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b818110156115ef576020818501810151868301820152016115d3565b818111156116005782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0386168152606060208201819052810184905260006001600160fb1b03851115611644578081fd5b8460051b8087608085013780830190506080810182815260808483030160408501526116718186886115a0565b9998505050505050505050565b600060018060a01b0386168252846020830152606060408301526116a66060830184866115a0565b9695505050505050565b6000602082526112d460208301846115ca565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008382526040602083015261153960408301846115ca565b600063ffffffff80831681851680830382111561173057611730611754565b01949350505050565b600060001982141561174d5761174d611754565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ac06bee9c59f1697b7be35f2dbec8242f9d5922b85967e95a1e56c1159079dde64736f6c63430008030033",
"linkReferences": {},
"deployedLinkReferences": {}
}