[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyExists", "type": "error" }, { "inputs": [], "name": "InvalidOwner", "type": "error" }, { "inputs": [], "name": "InvalidRecipient", "type": "error" }, { "inputs": [], "name": "InvalidSender", "type": "error" }, { "inputs": [], "name": "NotFound", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "UnsafeRecipient", "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": "amount", "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ERC20Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ERC721Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amountOrId", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "availableIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseTokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" } ], "name": "contractNFTBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" } ], "name": "contractTokenBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "enoughTokenBalance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "revokeOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "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": "id", "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": "_baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_paused", "type": "bool" } ], "name": "setPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_whaleLimiter", "type": "bool" } ], "name": "setWhaleLimiter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAvailableIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "totalNFTsOwned", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalNativeSupply", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "whaleLimiter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
60e060405234801561000f575f80fd5b50604051614cf4380380614cf483398181016040528101906100319190610360565b6040518060400160405280600481526020017f57494e45000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f57494e450000000000000000000000000000000000000000000000000000000081525060126107d084805f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610109576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35084600190816101b291906105c5565b5083600290816101c291906105c5565b508260ff1660808160ff16815250508160c08181525050608051600a6101e891906107fc565b826101f39190610846565b60a081815250505050505050686c6b935b8bbd40000060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff0219169083151502179055506001600f60016101000a81548160ff021916908315150217905550604051806080016040528060438152602001614cb160439139600e90816102fb91906105c5565b5050610887565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61032f82610306565b9050919050565b61033f81610325565b8114610349575f80fd5b50565b5f8151905061035a81610336565b92915050565b5f6020828403121561037557610374610302565b5b5f6103828482850161034c565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061040657607f821691505b602082108103610419576104186103c2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261047b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610440565b6104858683610440565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104c96104c46104bf8461049d565b6104a6565b61049d565b9050919050565b5f819050919050565b6104e2836104af565b6104f66104ee826104d0565b84845461044c565b825550505050565b5f90565b61050a6104fe565b6105158184846104d9565b505050565b5b818110156105385761052d5f82610502565b60018101905061051b565b5050565b601f82111561057d5761054e8161041f565b61055784610431565b81016020851015610566578190505b61057a61057285610431565b83018261051a565b50505b505050565b5f82821c905092915050565b5f61059d5f1984600802610582565b1980831691505092915050565b5f6105b5838361058e565b9150826002028217905092915050565b6105ce8261038b565b67ffffffffffffffff8111156105e7576105e6610395565b5b6105f182546103ef565b6105fc82828561053c565b5f60209050601f83116001811461062d575f841561061b578287015190505b61062585826105aa565b86555061068c565b601f19841661063b8661041f565b5f5b828110156106625784890151825560018201915060208501945060208101905061063d565b8683101561067f578489015161067b601f89168261058e565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610716578086048111156106f2576106f1610694565b5b60018516156107015780820291505b808102905061070f856106c1565b94506106d6565b94509492505050565b5f8261072e57600190506107e9565b8161073b575f90506107e9565b8160018114610751576002811461075b5761078a565b60019150506107e9565b60ff84111561076d5761076c610694565b5b8360020a91508482111561078457610783610694565b5b506107e9565b5060208310610133831016604e8410600b84101617156107bf5782820a9050838111156107ba576107b9610694565b5b6107e9565b6107cc84848460016106cd565b925090508184048111156107e3576107e2610694565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6108068261049d565b9150610811836107f0565b925061083e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461071f565b905092915050565b5f6108508261049d565b915061085b8361049d565b92508282026108698161049d565b915082820484148315176108805761087f610694565b5b5092915050565b60805160a05160c0516143eb6108c65f395f818161143201526129b401525f8181610c85015261259901525f8181610ffc0152611bc101526143eb5ff3fe608060405234801561000f575f80fd5b506004361061021a575f3560e01c806370a0823111610123578063c87b56dd116100ab578063dd62ed3e1161007a578063dd62ed3e1461068a578063e985e9c5146106ba578063ef1f3ebb146106ea578063f2fde38b1461071a578063f34779cb146107365761021a565b8063c87b56dd146105dc578063d528d1181461060c578063d547cfb71461063c578063d9adc1911461065a5761021a565b806395d89b41116100f257806395d89b41146105265780639b19251a14610544578063a22cb46514610574578063a9059cbb14610590578063b88d4fde146105c05761021a565b806370a082311461049c57806381456f48146104cc5780638c983bfb146104ea5780638da5cb5b146105085761021a565b80632b968958116101a657806353d6fd591161017557806353d6fd59146103e657806355f804b3146104025780635c975abb1461041e5780636352211e1461043c57806366e3e5e41461046c5761021a565b80632b96895814610384578063313ce5671461038e57806342842e0e146103ac5780634f02c420146103c85761021a565b8063095ea7b3116101ed578063095ea7b3146102ba57806316c38b3c146102ea57806318160ddd146103065780631ae243661461032457806323b872dd146103545761021a565b806301ffc9a71461021e57806304bdc76b1461024e57806306fdde031461026c578063081812fc1461028a575b5f80fd5b61023860048036038101906102339190613278565b610752565b60405161024591906132bd565b60405180910390f35b610256610833565b60405161026391906132ee565b60405180910390f35b61027461083f565b6040516102819190613377565b60405180910390f35b6102a4600480360381019061029f91906133c1565b6108cb565b6040516102b1919061342b565b60405180910390f35b6102d460048036038101906102cf919061346e565b6108fb565b6040516102e191906132bd565b60405180910390f35b61030460048036038101906102ff91906134d6565b610be2565b005b61030e610c83565b60405161031b91906132ee565b60405180910390f35b61033e6004803603810190610339919061346e565b610ca7565b60405161034b91906132bd565b60405180910390f35b61036e60048036038101906103699190613501565b610d53565b60405161037b91906132bd565b60405180910390f35b61038c610edb565b005b610396610ffa565b6040516103a3919061356c565b60405180910390f35b6103c660048036038101906103c19190613501565b61101e565b005b6103d061114e565b6040516103dd91906132ee565b60405180910390f35b61040060048036038101906103fb9190613585565b611154565b005b61041c600480360381019061041791906136ef565b611230565b005b6104266112c7565b60405161043391906132bd565b60405180910390f35b610456600480360381019061045191906133c1565b6112da565b604051610463919061342b565b60405180910390f35b61048660048036038101906104819190613736565b611378565b60405161049391906132ee565b60405180910390f35b6104b660048036038101906104b19190613736565b61141b565b6040516104c391906132ee565b60405180910390f35b6104d4611430565b6040516104e191906132ee565b60405180910390f35b6104f2611454565b6040516104ff91906132bd565b60405180910390f35b610510611466565b60405161051d919061342b565b60405180910390f35b61052e611489565b60405161053b9190613377565b60405180910390f35b61055e60048036038101906105599190613736565b611515565b60405161056b91906132bd565b60405180910390f35b61058e60048036038101906105899190613585565b611532565b005b6105aa60048036038101906105a5919061346e565b61162a565b6040516105b791906132bd565b60405180910390f35b6105da60048036038101906105d591906137be565b61163e565b005b6105f660048036038101906105f191906133c1565b611774565b6040516106039190613377565b60405180910390f35b610626600480360381019061062191906133c1565b6117a8565b60405161063391906132ee565b60405180910390f35b6106446117c8565b6040516106519190613377565b60405180910390f35b610674600480360381019061066f9190613736565b611854565b60405161068191906132ee565b60405180910390f35b6106a4600480360381019061069f9190613842565b61189d565b6040516106b191906132ee565b60405180910390f35b6106d460048036038101906106cf9190613842565b6118bd565b6040516106e191906132bd565b60405180910390f35b61070460048036038101906106ff9190613736565b6118e7565b60405161071191906132ee565b60405180910390f35b610734600480360381019061072f9190613736565b611930565b005b610750600480360381019061074b91906134d6565b611ab5565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061081c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061082c575061082b82611b55565b5b9050919050565b5f600d80549050905090565b6001805461084c906138ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610878906138ad565b80156108c35780601f1061089a576101008083540402835291602001916108c3565b820191905f5260205f20905b8154815290600101906020018083116108a657829003601f168201915b505050505081565b6006602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600354821115801561090d57505f82115b15610af5575f60085f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610a04575060075f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15610a3b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8360065f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610ae791906132ee565b60405180910390a350610bd8565b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bcf91906132ee565b60405180910390a35b6001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c66576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600f60016101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f80610cb1611bbe565b600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050610cfc919061390a565b60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610d44919061394b565b90508281101591505092915050565b5f8060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0a906139c8565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ec3578281610e46919061394b565b60055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610ece858585611bf1565b5060019150509392505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f5f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b7f000000000000000000000000000000000000000000000000000000000000000081565b61102a33848484611fb7565b5f8273ffffffffffffffffffffffffffffffffffffffff163b14158015611112575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b81526004016110b093929190613a19565b6020604051808303815f875af11580156110cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f09190613a75565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b15611149576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60035481565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111d8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112b4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600e90816112c39190613c3d565b5050565b600f60019054906101000a900460ff1681565b5f60085f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611373576040517fc5723b5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f611381611bbe565b600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506113cc919061390a565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611414919061394b565b9050919050565b6004602052805f5260405f205f915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600f5f9054906101000a900460ff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054611496906138ad565b80601f01602080910402602001604051908101604052809291908181526020018280546114c2906138ad565b801561150d5780601f106114e45761010080835404028352916020019161150d565b820191905f5260205f20905b8154815290600101906020018083116114f057829003601f168201915b505050505081565b600c602052805f5260405f205f915054906101000a900460ff1681565b8060075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161161e91906132bd565b60405180910390a35050565b5f611636338484611bf1565b905092915050565b61164a33868686611fb7565b5f8473ffffffffffffffffffffffffffffffffffffffff163b14158015611736575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b81526004016116d4959493929190613d38565b6020604051808303815f875af11580156116f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117149190613a75565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b1561176d576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6060600e611781836123af565b604051602001611792929190613e3e565b6040516020818303038152906040529050919050565b600d81815481106117b7575f80fd5b905f5260205f20015f915090505481565b600e80546117d5906138ad565b80601f0160208091040260200160405190810160405280929190818152602001828054611801906138ad565b801561184c5780601f106118235761010080835404028352916020019161184c565b820191905f5260205f20905b81548152906001019060200180831161182f57829003601f168201915b505050505081565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490509050919050565b6005602052815f5260405f20602052805f5260405f205f91509150505481565b6007602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490509050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119b4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a19576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b39576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600f5f6101000a81548160ff02191690831515021790555050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f7f0000000000000000000000000000000000000000000000000000000000000000600a611bec9190613f90565b905090565b5f611bfd848484612479565b5f611c06611bbe565b90505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050611c9387612658565b15611d37575f83600a5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050611ce5919061390a565b83611cf0919061394b565b905085811015611d35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2c90614024565b60405180910390fd5b505b8460045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611d83919061394b565b925050819055508460045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540192505081905550611ddd87612662565b1580611e2857505f60095f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050115b15611eb2575f8360045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e77919061406f565b8484611e83919061406f565b611e8d919061394b565b90505f5b81811015611eaf57611ea2896126c4565b8080600101915050611e91565b50505b611ebb86612662565b611f44575f8382611ecc919061406f565b8460045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f15919061406f565b611f1f919061394b565b90505f5b81811015611f4157611f348861292f565b8080600101915050611f23565b50505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e03148787604051611fa191906132ee565b60405180910390a3600193505050509392505050565b60085f8281526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204c906140e9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ba90614151565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061217e575060075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806121e4575060065f8281526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b612223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221a906141b9565b60405180910390fd5b61222b611bbe565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612276919061394b565b92505081905550612285611bbe565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055506122d88382612b75565b6122e28282612ecf565b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487612394611bbe565b6040516123a191906132ee565b60405180910390a350505050565b60605f60016123bd846130bc565b0190505f8167ffffffffffffffff8111156123db576123da6135cb565b5b6040519080825280601f01601f19166020018201604052801561240d5781602001600182028036833780820191505090505b5090505f82602001820190505b60011561246e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161246357612462614042565b5b0494505f850361241a575b819350505050919050565b61248483838361320d565b600f60019054906101000a900460ff1615612580575f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061253c57505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61257b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257290614247565b60405180910390fd5b612653565b600f5f9054906101000a900460ff1615612652576103e87f000000000000000000000000000000000000000000000000000000000000000060056125c4919061390a565b6125ce919061406f565b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111561264d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612644906142af565b60405180910390fd5b612653565b5b505050565b5f813b9050919050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806126bd57506126bc82612658565b5b9050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612729576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506127b4919061394b565b815481106127c5576127c46142cd565b5b905f5260205f200154905060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080548061281d5761281c6142fa565b5b600190038181905f5260205f20015f90559055600b5f8281526020019081526020015f205f905560085f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560065f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600d81908060018154018082558091505060019003905f5260205f20015f9091909190915055805f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612994576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80600d8054905003612a215760035f81548092919060010191905055507f00000000000000000000000000000000000000000000000000000000000000006003541115612a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0e90614397565b60405180910390fd5b6003549050612a77565b600d6001600d80549050612a35919061394b565b81548110612a4657612a456142cd565b5b905f5260205f2001549050600d805480612a6357612a626142fa565b5b600190038181905f5260205f20015f905590555b5f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b0c576040517f23369fa600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b168282612ecf565b808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b5f612b7f83612658565b15612cfc57600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612c0e919061394b565b81548110612c1f57612c1e6142cd565b5b905f5260205f200154905080600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600b5f8581526020019081526020015f205481548110612c8b57612c8a6142cd565b5b905f5260205f200181905550600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480612ce457612ce36142fa565b5b600190038181905f5260205f20015f90559055612e70565b60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612d86919061394b565b81548110612d9757612d966142cd565b5b905f5260205f20015490508060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600b5f8581526020019081526020015f205481548110612e0357612e026142cd565b5b905f5260205f20018190555060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480612e5c57612e5b6142fa565b5b600190038181905f5260205f20015f905590555b600b5f8381526020019081526020015f2054600b5f8381526020019081526020015f208190555060065f8381526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055505050565b8160085f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612f2782612658565b15612ff457600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150556001600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612fda919061394b565b600b5f8381526020019081526020015f20819055506130b8565b60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f9091909190915055600160095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490506130a2919061394b565b600b5f8381526020019081526020015f20819055505b5050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613118577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161310e5761310d614042565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613155576d04ee2d6d415b85acef8100000000838161314b5761314a614042565b5b0492506020810190505b662386f26fc10000831061318457662386f26fc10000838161317a57613179614042565b5b0492506010810190505b6305f5e10083106131ad576305f5e10083816131a3576131a2614042565b5b0492506008810190505b61271083106131d25761271083816131c8576131c7614042565b5b0492506004810190505b606483106131f557606483816131eb576131ea614042565b5b0492506002810190505b600a8310613204576001810190505b80915050919050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61325781613223565b8114613261575f80fd5b50565b5f813590506132728161324e565b92915050565b5f6020828403121561328d5761328c61321b565b5b5f61329a84828501613264565b91505092915050565b5f8115159050919050565b6132b7816132a3565b82525050565b5f6020820190506132d05f8301846132ae565b92915050565b5f819050919050565b6132e8816132d6565b82525050565b5f6020820190506133015f8301846132df565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61334982613307565b6133538185613311565b9350613363818560208601613321565b61336c8161332f565b840191505092915050565b5f6020820190508181035f83015261338f818461333f565b905092915050565b6133a0816132d6565b81146133aa575f80fd5b50565b5f813590506133bb81613397565b92915050565b5f602082840312156133d6576133d561321b565b5b5f6133e3848285016133ad565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613415826133ec565b9050919050565b6134258161340b565b82525050565b5f60208201905061343e5f83018461341c565b92915050565b61344d8161340b565b8114613457575f80fd5b50565b5f8135905061346881613444565b92915050565b5f80604083850312156134845761348361321b565b5b5f6134918582860161345a565b92505060206134a2858286016133ad565b9150509250929050565b6134b5816132a3565b81146134bf575f80fd5b50565b5f813590506134d0816134ac565b92915050565b5f602082840312156134eb576134ea61321b565b5b5f6134f8848285016134c2565b91505092915050565b5f805f606084860312156135185761351761321b565b5b5f6135258682870161345a565b93505060206135368682870161345a565b9250506040613547868287016133ad565b9150509250925092565b5f60ff82169050919050565b61356681613551565b82525050565b5f60208201905061357f5f83018461355d565b92915050565b5f806040838503121561359b5761359a61321b565b5b5f6135a88582860161345a565b92505060206135b9858286016134c2565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6136018261332f565b810181811067ffffffffffffffff821117156136205761361f6135cb565b5b80604052505050565b5f613632613212565b905061363e82826135f8565b919050565b5f67ffffffffffffffff82111561365d5761365c6135cb565b5b6136668261332f565b9050602081019050919050565b828183375f83830152505050565b5f61369361368e84613643565b613629565b9050828152602081018484840111156136af576136ae6135c7565b5b6136ba848285613673565b509392505050565b5f82601f8301126136d6576136d56135c3565b5b81356136e6848260208601613681565b91505092915050565b5f602082840312156137045761370361321b565b5b5f82013567ffffffffffffffff8111156137215761372061321f565b5b61372d848285016136c2565b91505092915050565b5f6020828403121561374b5761374a61321b565b5b5f6137588482850161345a565b91505092915050565b5f80fd5b5f80fd5b5f8083601f84011261377e5761377d6135c3565b5b8235905067ffffffffffffffff81111561379b5761379a613761565b5b6020830191508360018202830111156137b7576137b6613765565b5b9250929050565b5f805f805f608086880312156137d7576137d661321b565b5b5f6137e48882890161345a565b95505060206137f58882890161345a565b9450506040613806888289016133ad565b935050606086013567ffffffffffffffff8111156138275761382661321f565b5b61383388828901613769565b92509250509295509295909350565b5f80604083850312156138585761385761321b565b5b5f6138658582860161345a565b92505060206138768582860161345a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806138c457607f821691505b6020821081036138d7576138d6613880565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613914826132d6565b915061391f836132d6565b925082820261392d816132d6565b91508282048414831517613944576139436138dd565b5b5092915050565b5f613955826132d6565b9150613960836132d6565b9250828203905081811115613978576139776138dd565b5b92915050565b7f4e6f7420656e6f75676820616c6c6f77616e63652e00000000000000000000005f82015250565b5f6139b2601583613311565b91506139bd8261397e565b602082019050919050565b5f6020820190508181035f8301526139df816139a6565b9050919050565b5f82825260208201905092915050565b50565b5f613a045f836139e6565b9150613a0f826139f6565b5f82019050919050565b5f608082019050613a2c5f83018661341c565b613a39602083018561341c565b613a4660408301846132df565b8181036060830152613a57816139f9565b9050949350505050565b5f81519050613a6f8161324e565b92915050565b5f60208284031215613a8a57613a8961321b565b5b5f613a9784828501613a61565b91505092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302613afc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613ac1565b613b068683613ac1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613b41613b3c613b37846132d6565b613b1e565b6132d6565b9050919050565b5f819050919050565b613b5a83613b27565b613b6e613b6682613b48565b848454613acd565b825550505050565b5f90565b613b82613b76565b613b8d818484613b51565b505050565b5b81811015613bb057613ba55f82613b7a565b600181019050613b93565b5050565b601f821115613bf557613bc681613aa0565b613bcf84613ab2565b81016020851015613bde578190505b613bf2613bea85613ab2565b830182613b92565b50505b505050565b5f82821c905092915050565b5f613c155f1984600802613bfa565b1980831691505092915050565b5f613c2d8383613c06565b9150826002028217905092915050565b613c4682613307565b67ffffffffffffffff811115613c5f57613c5e6135cb565b5b613c6982546138ad565b613c74828285613bb4565b5f60209050601f831160018114613ca5575f8415613c93578287015190505b613c9d8582613c22565b865550613d04565b601f198416613cb386613aa0565b5f5b82811015613cda57848901518255600182019150602085019450602081019050613cb5565b86831015613cf75784890151613cf3601f891682613c06565b8355505b6001600288020188555050505b505050505050565b5f613d1783856139e6565b9350613d24838584613673565b613d2d8361332f565b840190509392505050565b5f608082019050613d4b5f83018861341c565b613d58602083018761341c565b613d6560408301866132df565b8181036060830152613d78818486613d0c565b90509695505050505050565b5f81905092915050565b5f8154613d9a816138ad565b613da48186613d84565b9450600182165f8114613dbe5760018114613dd357613e05565b60ff1983168652811515820286019350613e05565b613ddc85613aa0565b5f5b83811015613dfd57815481890152600182019150602081019050613dde565b838801955050505b50505092915050565b5f613e1882613307565b613e228185613d84565b9350613e32818560208601613321565b80840191505092915050565b5f613e498285613d8e565b9150613e558284613e0e565b91508190509392505050565b5f8160011c9050919050565b5f808291508390505b6001851115613eb657808604811115613e9257613e916138dd565b5b6001851615613ea15780820291505b8081029050613eaf85613e61565b9450613e76565b94509492505050565b5f82613ece5760019050613f89565b81613edb575f9050613f89565b8160018114613ef15760028114613efb57613f2a565b6001915050613f89565b60ff841115613f0d57613f0c6138dd565b5b8360020a915084821115613f2457613f236138dd565b5b50613f89565b5060208310610133831016604e8410600b8410161715613f5f5782820a905083811115613f5a57613f596138dd565b5b613f89565b613f6c8484846001613e6d565b92509050818404811115613f8357613f826138dd565b5b81810290505b9392505050565b5f613f9a826132d6565b9150613fa583613551565b9250613fd27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613ebf565b905092915050565b7f4e6f7420656e6f75676820746f6b656e2062616c616e63652e000000000000005f82015250565b5f61400e601983613311565b915061401982613fda565b602082019050919050565b5f6020820190508181035f83015261403b81614002565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614079826132d6565b9150614084836132d6565b92508261409457614093614042565b5b828204905092915050565b7f53656e646572206973206e6f74206f776e6572206f66204e46542e00000000005f82015250565b5f6140d3601b83613311565b91506140de8261409f565b602082019050919050565b5f6020820190508181035f830152614100816140c7565b9050919050565b7f43616e6e6f742073656e6420746f206e756c6c20616464726573732e000000005f82015250565b5f61413b601c83613311565b915061414682614107565b602082019050919050565b5f6020820190508181035f8301526141688161412f565b9050919050565b7f4f70657261746f72206973206e6f7420617070726f7665642e000000000000005f82015250565b5f6141a3601983613311565b91506141ae8261416f565b602082019050919050565b5f6020820190508181035f8301526141d081614197565b9050919050565b7f43616e6e6f74207472616e7366657220756e74696c206d696e7420656e7465725f8201527f73207075626c69632e0000000000000000000000000000000000000000000000602082015250565b5f614231602983613311565b915061423c826141d7565b604082019050919050565b5f6020820190508181035f83015261425e81614225565b9050919050565b7f4e6f206d6f7265207468616e20302e352520617420746869732073746167652e5f82015250565b5f614299602083613311565b91506142a482614265565b602082019050919050565b5f6020820190508181035f8301526142c68161428d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f43616e6e6f74206d696e74206d6f7265207468616e20676976656e20737570705f8201527f6c792e0000000000000000000000000000000000000000000000000000000000602082015250565b5f614381602383613311565b915061438c82614327565b604082019050919050565b5f6020820190508181035f8301526143ae81614375565b905091905056fea2646970667358221220c3fa3731858838e1eba0a4fd1a291a43edb4c5cec3af938fcb69fda6673e776764736f6c63430008190033697066733a2f2f62616679626569646d693776356337713362753261616b796d6437747a747973633537726a6f327536646e6c6f326f32793533656e6464706a6a6d2f00000000000000000000000051f8dbc645637f524742ec97162c768ea77cd87d