[ { "inputs": [ { "internalType": "address", "name": "_locker", "type": "address" }, { "internalType": "uint24", "name": "_poolFee", "type": "uint24" }, { "internalType": "address", "name": "_projectOwner", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "address", "name": "uniswapRouter", "type": "address" }, { "internalType": "address", "name": "uniswapFactory", "type": "address" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "uint256", "name": "afterBlock", "type": "uint256" }, { "internalType": "uint256", "name": "softTopCap", "type": "uint256" }, { "internalType": "uint256", "name": "refundFeeRate", "type": "uint256" }, { "internalType": "address", "name": "refundFeeTo", "type": "address" } ], "internalType": "struct FairLaunchLimitBlockStruct", "name": "params", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_type", "type": "uint256" } ], "name": "Deployed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "ethAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountOfTokens", "type": "uint256" } ], "name": "FundEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidity", "type": "uint256" } ], "name": "LaunchEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "eth", "type": "uint256" } ], "name": "RefundEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CLAIM_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINIMAL_FUND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REFUND_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "START_COMMAND", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "canStart", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "fundBalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_addr", "type": "address" } ], "name": "getExtraETH", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "locker", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "meta", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "mightGet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "minted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "poolFee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refundFeeRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "refundFeeTo", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "softTopCap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "started", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDispatch", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalEthers", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uniswapFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapPositionManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "untilBlockNumber", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6101e06040523480156200001257600080fd5b5060405162003579380380620035798339810160408190526200003591620003d4565b6060810151608082015160a083015182826003620000548382620005d2565b506004620000638282620005d2565b50600591506200007690508282620005d2565b5050600160065550503060808190526007805460ff19169055815160e0819052620000a291906200012e565b60208101516001600160a01b0390811660a0908152604083015190911660c052810151600590620000d49082620005d2565b50438160c00151620000e791906200069e565b61010090815260e0820151610120908152908201516101405201516001600160a01b0390811661016052928316610180529091166101c05262ffffff166101a052620006c6565b6001600160a01b0382166200015e5760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6200016c6000838362000170565b5050565b6200017d83838362000182565b505050565b6001600160a01b038316620001b1578060026000828254620001a591906200069e565b90915550620002259050565b6001600160a01b03831660009081526020819052604090205481811015620002065760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640162000155565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620002435760028054829003905562000262565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002a891815260200190565b60405180910390a3505050565b80516001600160a01b0381168114620002cd57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60405161014081016001600160401b03811182821017156200030e576200030e620002d2565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200033f576200033f620002d2565b604052919050565b600082601f8301126200035957600080fd5b81516001600160401b03811115620003755762000375620002d2565b60206200038b601f8301601f1916820162000314565b8281528582848701011115620003a057600080fd5b60005b83811015620003c0578581018301518282018401528201620003a3565b506000928101909101919091529392505050565b60008060008060808587031215620003eb57600080fd5b620003f685620002b5565b9350602085015162ffffff811681146200040f57600080fd5b92506200041f60408601620002b5565b60608601519092506001600160401b03808211156200043d57600080fd5b9086019061014082890312156200045357600080fd5b6200045d620002e8565b825181526200046f60208401620002b5565b60208201526200048260408401620002b5565b60408201526060830151828111156200049a57600080fd5b620004a88a82860162000347565b606083015250608083015182811115620004c157600080fd5b620004cf8a82860162000347565b60808301525060a083015182811115620004e857600080fd5b620004f68a82860162000347565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506200052f828401620002b5565b8282015280935050505092959194509250565b600181811c908216806200055757607f821691505b6020821081036200057857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017d576000816000526020600020601f850160051c81016020861015620005a95750805b601f850160051c820191505b81811015620005ca57828155600101620005b5565b505050505050565b81516001600160401b03811115620005ee57620005ee620002d2565b6200060681620005ff845462000542565b846200057e565b602080601f8311600181146200063e5760008415620006255750858301515b600019600386901b1c1916600185901b178555620005ca565b600085815260208120601f198616915b828110156200066f578886015182559484019460019091019084016200064e565b50858210156200068e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b80820180821115620006c057634e487b7160e01b600052601160045260246000fd5b92915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c051612d4c6200082d600039600081816107b10152611a3801526000818161048a0152818161153c01528181612294015261236e015260008181610897015281816117ef015281816118660152818161198101528181611a6a015261241401526000818161060f0152818161116a01526111ab0152600081816105c1015261111d01526000818161098801528181610d2401528181610db801528181610e2b0152818161166501528181611696015281816116c401528181611e2d0152611e6001526000818161036d01528181610668015261094f0152600081816106ff01528181610bb801528181611dcd015281816121de015261220e01526000818161074e01526115690152600081816102270152818161091e0152818161145b015281816116ec01528181611895015261192c015260006109c20152612d4c6000f3fe6080604052600436106102025760003560e01c8063825521701161011d578063c884ef83116100b0578063dd62ed3e1161007f578063ec30903811610064578063ec30903814610940578063f570ee6b14610976578063fb5d5d4d1461078557600080fd5b8063dd62ed3e146108b9578063e5047b301461090c57600080fd5b8063c884ef8314610813578063c885044e14610843578063d35e7efc14610858578063d7b96d4e1461088557600080fd5b80639ecf0090116100ec5780639ecf0090146105e3578063a4475ce41461079f578063a9059cbb146107d3578063a92bc58a146107f357600080fd5b806382552170146107215780638bdb2afa1461073c57806395d89b4114610770578063996eba2d1461078557600080fd5b8063313ce567116101955780635ce38d99116101645780635ce38d991461065657806368b63c241461068a57806370a08231146106aa5780637b0fa954146106ed57600080fd5b8063313ce5671461059357806332c4f2bf146105af578063475a519f146105e3578063544d46a3146105fd57600080fd5b806318160ddd116101d157806318160ddd146105145780631e7269c5146105295780631f2698ab1461055957806323b872dd1461057357600080fd5b806306fdde031461044d578063089fe6aa14610478578063095ea7b3146104c05780630a4625af146104f057600080fd5b366104485761020f6109aa565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102e6573233146102c65760405162461bcd60e51b815260206004820152602d60248201527f466169724d696e743a2063616e206e6f742073656e6420636f6d6d616e64206660448201527f726f6d20636f6e74726163742e0000000000000000000000000000000000000060648201526084015b60405180910390fd5b60075460ff161561036b57655af3107a400034036102e8576102e66109ee565b005b65b5e620f4800034036102fd576102e6610ca0565b60405162461bcd60e51b815260206004820152602e60248201527f466169724d696e743a20696e76616c696420636f6d6d616e64202d206d696e7460448201527f206f7220636c61696d206f6e6c7900000000000000000000000000000000000060648201526084016102bd565b7f0000000000000000000000000000000000000000000000000000000000000000431061042b5765b5e620f4800034036103a7576102e661101b565b6601c6bf5263400034036103bd576102e661139f565b60405162461bcd60e51b815260206004820152603060248201527f466169724d696e743a20696e76616c696420636f6d6d616e64202d207374617260448201527f74206f7220726566756e64206f6e6c790000000000000000000000000000000060648201526084016102bd565b65b5e620f480003403610440576102e661101b565b6102e6611b81565b600080fd5b34801561045957600080fd5b50610462611cb4565b60405161046f9190612924565b60405180910390f35b34801561048457600080fd5b506104ac7f000000000000000000000000000000000000000000000000000000000000000081565b60405162ffffff909116815260200161046f565b3480156104cc57600080fd5b506104e06104db3660046129b6565b611d46565b604051901515815260200161046f565b3480156104fc57600080fd5b50610506600a5481565b60405190815260200161046f565b34801561052057600080fd5b50600254610506565b34801561053557600080fd5b506104e06105443660046129e2565b60096020526000908152604090205460ff1681565b34801561056557600080fd5b506007546104e09060ff1681565b34801561057f57600080fd5b506104e061058e3660046129ff565b611d60565b34801561059f57600080fd5b506040516012815260200161046f565b3480156105bb57600080fd5b506105067f000000000000000000000000000000000000000000000000000000000000000081565b3480156105ef57600080fd5b50610506655af3107a400081565b34801561060957600080fd5b506106317f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161046f565b34801561066257600080fd5b506105067f000000000000000000000000000000000000000000000000000000000000000081565b34801561069657600080fd5b506105066106a53660046129e2565b611d84565b3480156106b657600080fd5b506105066106c53660046129e2565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b3480156106f957600080fd5b506105067f000000000000000000000000000000000000000000000000000000000000000081565b34801561072d57600080fd5b506105066601c6bf5263400081565b34801561074857600080fd5b506106317f000000000000000000000000000000000000000000000000000000000000000081565b34801561077c57600080fd5b50610462611e0c565b34801561079157600080fd5b5061050665b5e620f4800081565b3480156107ab57600080fd5b506106317f000000000000000000000000000000000000000000000000000000000000000081565b3480156107df57600080fd5b506104e06107ee3660046129b6565b611e1b565b3480156107ff57600080fd5b5061050661080e3660046129e2565b611e29565b34801561081f57600080fd5b506104e061082e3660046129e2565b600b6020526000908152604090205460ff1681565b34801561084f57600080fd5b50610462611ebd565b34801561086457600080fd5b506105066108733660046129e2565b60086020526000908152604090205481565b34801561089157600080fd5b506106317f000000000000000000000000000000000000000000000000000000000000000081565b3480156108c557600080fd5b506105066108d4366004612a40565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b34801561091857600080fd5b506106317f000000000000000000000000000000000000000000000000000000000000000081565b34801561094c57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000004310156104e0565b34801561098257600080fd5b506105067f000000000000000000000000000000000000000000000000000000000000000081565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109ec57600080fd5b565b6109f6611f4b565b60075460ff16610a485760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206e6f742073746172746564000000000000000000000060448201526064016102bd565b333214610abd5760405162461bcd60e51b815260206004820152602360248201527f466169724d696e743a2063616e206e6f74206d696e7420746f20636f6e74726160448201527f63742e000000000000000000000000000000000000000000000000000000000060648201526084016102bd565b3360009081526009602052604090205460ff1615610b1d5760405162461bcd60e51b815260206004820152601860248201527f466169724d696e743a20616c7265616479206d696e746564000000000000000060448201526064016102bd565b33600081815260096020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590610b5f90611d84565b905060008111610bb15760405162461bcd60e51b815260206004820152601d60248201527f466169724d696e743a206d696e7420616d6f756e74206973207a65726f00000060448201526064016102bd565b610bdc60027f0000000000000000000000000000000000000000000000000000000000000000612aa8565b811115610beb57610beb612ae3565b610bf6303383611f8e565b6040516000903390655af3107a4000908381818185875af1925050503d8060008114610c3e576040519150601f19603f3d011682016040523d82523d6000602084013e610c43565b606091505b5050905080610c945760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206d696e74206661696c6564000000000000000000000060448201526064016102bd565b50506109ec6001600655565b610ca8611f4b565b60075460ff16610d205760405162461bcd60e51b815260206004820152602d60248201527f466169724d696e743a20776974686472617720657874726120657468206d757360448201527f742061667465722073746172740000000000000000000000000000000000000060648201526084016102bd565b60007f000000000000000000000000000000000000000000000000000000000000000011610db65760405162461bcd60e51b815260206004820152602260248201527f466169724d696e743a20736f667420746f7020636170206d757374206265207360448201527f657400000000000000000000000000000000000000000000000000000000000060648201526084016102bd565b7f0000000000000000000000000000000000000000000000000000000000000000600a5411610e275760405162461bcd60e51b815260206004820152601660248201527f466169724d696e743a206e6f206578747261206574680000000000000000000060448201526064016102bd565b60007f0000000000000000000000000000000000000000000000000000000000000000600a54610e579190612b12565b3360009081526008602052604090205490915080610eb75760405162461bcd60e51b815260206004820152601160248201527f466169724d696e743a206e6f2066756e6400000000000000000000000000000060448201526064016102bd565b336000908152600b602052604090205460ff1615610f175760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c726561647920636c61696d65640000000000000060448201526064016102bd565b336000908152600b6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a54610f5c8484612b25565b610f669190612aa8565b9050600033610f7b65b5e620f4800084612b3c565b604051600081818185875af1925050503d8060008114610fb7576040519150601f19603f3d011682016040523d82523d6000602084013e610fbc565b606091505b505090508061100d5760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a207769746864726177206661696c65640000000000000060448201526064016102bd565b505050506109ec6001600655565b611023611f4b565b60075460ff16156110765760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c726561647920737461727465640000000000000060448201526064016102bd565b33600081815260086020526040902054806110d35760405162461bcd60e51b815260206004820152601160248201527f466169724d696e743a206e6f2066756e6400000000000000000000000000000060448201526064016102bd565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600860205260408120819055600a805483929061110d908490612b12565b90915550600090506127106111427f000000000000000000000000000000000000000000000000000000000000000084612b25565b61114c9190612aa8565b905081811061115d5761115d612ae3565b6000811180156111a257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615155b156112795760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611221576040519150601f19603f3d011682016040523d82523d6000602084013e611226565b606091505b50509050806112775760405162461bcd60e51b815260206004820152601b60248201527f466169724d696e743a20726566756e6420666565206661696c6564000000000060448201526064016102bd565b505b600073ffffffffffffffffffffffffffffffffffffffff841665b5e620f480006112a38486612b12565b6112ad9190612b3c565b604051600081818185875af1925050503d80600081146112e9576040519150601f19603f3d011682016040523d82523d6000602084013e6112ee565b606091505b505090508061133f5760405162461bcd60e51b815260206004820152601760248201527f466169724d696e743a20726566756e64206661696c656400000000000000000060448201526064016102bd565b60408051600081526020810185905273ffffffffffffffffffffffffffffffffffffffff8616917fb24b09fd2e8e4d8904c3c26f3e935824e032891520ffda419dec9f086b0e1eea910160405180910390a2505050506109ec6001600655565b6113a7611f4b565b60075460ff16156113fa5760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c726561647920737461727465640000000000000060448201526064016102bd565b30600090815260208190526040812054116114575760405162461bcd60e51b815260206004820152601460248201527f466169724d696e743a206e6f2062616c616e636500000000000000000000000060448201526064016102bd565b60007f0000000000000000000000000000000000000000000000000000000000000000905060008173ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190612b4f565b6040517f1698ee8200000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff808316602483015262ffffff7f00000000000000000000000000000000000000000000000000000000000000001660448301529192506000917f00000000000000000000000000000000000000000000000000000000000000001690631698ee8290606401602060405180830381865afa1580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190612b4f565b905073ffffffffffffffffffffffffffffffffffffffff8116156116605760405162461bcd60e51b815260206004820152603b60248201527f466169724d696e743a20706f6f6c20616c7265616479206578697374732c206360448201527f616e206e6f742073746172742c20706c6561736520726566756e64000000000060648201526084016102bd565b6000807f00000000000000000000000000000000000000000000000000000000000000001161169157600a546116e4565b600a547f0000000000000000000000000000000000000000000000000000000000000000106116c257600a546116e4565b7f00000000000000000000000000000000000000000000000000000000000000005b9050611733307f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600061203e565b60008060008061174487868a612187565b5093509350935093506000806000806117618c898989898e612320565b600780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560408051838152602081018390526fffffffffffffffffffffffffffffffff8516918101919091529397509195509350915030907fef1e73540aed31615f5f09b178cff91261e831560c37718c23862e93a3fc3ceb9060600160405180910390a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615611acb576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401600060405180830381600087803b1580156118d957600080fd5b505af11580156118ed573d6000803e3d6000fd5b50506040517fe2ab691d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018890527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60448301527f000000000000000000000000000000000000000000000000000000000000000093506000925083169063e2ab691d906064016020604051808303816000875af11580156119d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f59190612b6c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd90606401600060405180830381600087803b158015611ab057600080fd5b505af1158015611ac4573d6000803e3d6000fd5b5050505050505b60405160009033906601c6bf52634000908381818185875af1925050503d8060008114611b14576040519150601f19603f3d011682016040523d82523d6000602084013e611b19565b606091505b5050905080611b6a5760405162461bcd60e51b815260206004820152601560248201527f466169724d696e743a206d696e74206661696c6564000000000000000000000060448201526064016102bd565b505050505050505050505050506109ec6001600655565b611b89611f4b565b60075460ff1615611bdc5760405162461bcd60e51b815260206004820152601960248201527f466169724d696e743a20616c726561647920737461727465640000000000000060448201526064016102bd565b655af3107a4000341015611c325760405162461bcd60e51b815260206004820152601760248201527f466169724d696e743a2076616c756520746f6f206c6f7700000000000000000060448201526064016102bd565b3360009081526008602052604081208054349290611c51908490612b3c565b9250508190555034600a6000828254611c6a9190612b3c565b9091555050604080513481526000602082015233917f4c10b3a5590fcdc7a6f3b564c09870bd275facbd00a0bcf68c8b069e32f9508b910160405180910390a26109ec6001600655565b606060038054611cc390612b85565b80601f0160208091040260200160405190810160405280929190818152602001828054611cef90612b85565b8015611d3c5780601f10611d1157610100808354040283529160200191611d3c565b820191906000526020600020905b815481529060010190602001808311611d1f57829003601f168201915b5050505050905090565b600033611d54818585612587565b60019150505b92915050565b600033611d6e858285612594565b611d79858585611f8e565b506001949350505050565b6000600a54600003611d9857506000919050565b600a5473ffffffffffffffffffffffffffffffffffffffff8316600090815260086020526040812054909190600290611df1907f0000000000000000000000000000000000000000000000000000000000000000612b25565b611dfb9190612aa8565b611e059190612aa8565b9392505050565b606060048054611cc390612b85565b600033611d54818585611f8e565b60007f0000000000000000000000000000000000000000000000000000000000000000600a541115611eb557600a54600090611e857f000000000000000000000000000000000000000000000000000000000000000082612b12565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260086020526040902054611dfb9190612b25565b506000919050565b60058054611eca90612b85565b80601f0160208091040260200160405190810160405280929190818152602001828054611ef690612b85565b8015611f435780601f10611f1857610100808354040283529160200191611f43565b820191906000526020600020905b815481529060010190602001808311611f2657829003601f168201915b505050505081565b600260065403611f87576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600655565b73ffffffffffffffffffffffffffffffffffffffff8316611fde576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016102bd565b73ffffffffffffffffffffffffffffffffffffffff821661202e576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016102bd565b61203983838361265d565b505050565b73ffffffffffffffffffffffffffffffffffffffff841661208e576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016102bd565b73ffffffffffffffffffffffffffffffffffffffff83166120de576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016102bd565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015612181578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161217891815260200190565b60405180910390a35b50505050565b60008080808073ffffffffffffffffffffffffffffffffffffffff881630106121b15787306121b4565b30885b909550935073ffffffffffffffffffffffffffffffffffffffff88163010612207578661220260027f0000000000000000000000000000000000000000000000000000000000000000612aa8565b612234565b61223260027f0000000000000000000000000000000000000000000000000000000000000000612aa8565b875b90935091506122438383612668565b6040517f13ead56200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152868116602483015262ffffff7f00000000000000000000000000000000000000000000000000000000000000001660448301528083166064830152919250908716906313ead562906084016020604051808303816000875af11580156122f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123149190612b4f565b50939792965093509350565b60008060008060006040518061016001604052808b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000000062ffffff1681526020017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2764c60020b8152602001620d89b460020b815260200189815260200188815260200160648a60626123e79190612b25565b6123f19190612aa8565b815260200160646124038a6062612b25565b61240d9190612aa8565b81526020017f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16156124545730612457565b60005b73ffffffffffffffffffffffffffffffffffffffff16815260200161247e42610e10612b3c565b81525090506000806000808e73ffffffffffffffffffffffffffffffffffffffff1663883164568b876040518363ffffffff1660e01b81526004016124c39190612bd8565b60806040518083038185885af11580156124e1573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125069190612cc3565b93509350935093508e73ffffffffffffffffffffffffffffffffffffffff166312210e8a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561255657600080fd5b505af115801561256a573d6000803e3d6000fd5b50959a509398509196509450505050509650965096509692505050565b612039838383600161203e565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612181578181101561264e576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064016102bd565b6121818484848403600061203e565b612039838383612711565b600080831180156126795750600082115b6126c55760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e7473206d7573742062652067726561746572207468616e2030000060448201526064016102bd565b6000836126da84670de0b6b3a7640000612b25565b6126e49190612aa8565b905060006126f1826128bc565b90506000612707633b9aca00606084901b612aa8565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661274957806002600082825461273e9190612b3c565b909155506127fb9050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156127cf576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018390526064016102bd565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff821661282457600280548290039055612850565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516128af91815260200190565b60405180910390a3505050565b6000816000036128ce57506000919050565b8160006128dc600283612aa8565b6128e7906001612b3c565b90505b8181101561291d579050806002816129028187612aa8565b61290c9190612b3c565b6129169190612aa8565b90506128ea565b5092915050565b60006020808352835180602085015260005b8181101561295257858101830151858201604001528201612936565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146129b357600080fd5b50565b600080604083850312156129c957600080fd5b82356129d481612991565b946020939093013593505050565b6000602082840312156129f457600080fd5b8135611e0581612991565b600080600060608486031215612a1457600080fd5b8335612a1f81612991565b92506020840135612a2f81612991565b929592945050506040919091013590565b60008060408385031215612a5357600080fd5b8235612a5e81612991565b91506020830135612a6e81612991565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082612ade577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b81810381811115611d5a57611d5a612a79565b8082028115828204841417611d5a57611d5a612a79565b80820180821115611d5a57611d5a612a79565b600060208284031215612b6157600080fd5b8151611e0581612991565b600060208284031215612b7e57600080fd5b5051919050565b600181811c90821680612b9957607f821691505b602082108103612bd2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b815173ffffffffffffffffffffffffffffffffffffffff16815261016081016020830151612c1e602084018273ffffffffffffffffffffffffffffffffffffffff169052565b506040830151612c35604084018262ffffff169052565b506060830151612c4a606084018260020b9052565b506080830151612c5f608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151612cb28285018273ffffffffffffffffffffffffffffffffffffffff169052565b505061014092830151919092015290565b60008060008060808587031215612cd957600080fd5b8451935060208501516fffffffffffffffffffffffffffffffff81168114612d0057600080fd5b604086015160609096015194979096509250505056fea264697066735822122047a579627b388c16b4cc15c9df29589f19013dcece432fd8a49177b0eddf761e64736f6c6343000818003300000000000000000000000099090d2d220901de904c6e3d003d7ced4b6ec2a40000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000984ef5bcd6c385c6f5cb3d23dff558cdf85b6ba600000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000409f9cbc7c4a04c220000000000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe880000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000008a7000000000000000000000000000000000000000000000001158e460913d0000000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000069691ce612c244b0829b9e124cca063816da1448000000000000000000000000000000000000000000000000000000000000000a4550554d50205445535400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000454455354000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000189646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c5733736964484a686158526664486c775a534936496d526c63324e79615842306157397549697769646d4673645755694f694a476233496c4d6a42305a584e306157356e4a5449775256425654564175526c564f4a5449776232357365535579517955794d4735764a5449776233526f5a58496c4d6a427764584a7762334e6c6379346966537837496e527959576c3058335235634755694f694a335a574a7a6158526c49697769646d4673645755694f694a6f64485277637a6f764c325677645731774c6d5a3162694a394c48736964484a686158526664486c775a534936496d6c745957646c49697769646d4673645755694f694a6f64485277637a6f764c32467a633256306379357962324e725a585175625756745a53396863334e6c64484d764d6a41794e4441354d444d784d69396c4d6a5a685a44466a5a6930784f574e6c4c54526b4e544974596d55334e7930354e325934597a41785a6a5a69597a59756347356e496e31640000000000000000000000000000000000000000000000