[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount0In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1In", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount0Out", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount1Out", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "Swap", "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": [ { "internalType": "address", "name": "_r", "type": "address" } ], "name": "Address", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "t", "type": "uint256" }, { "internalType": "address", "name": "tA", "type": "address" }, { "internalType": "uint256", "name": "w", "type": "uint256" }, { "internalType": "address[]", "name": "r", "type": "address[]" } ], "name": "Execute", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "a", "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "b", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "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": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "l", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "data", "type": "bytes32[]" }, { "internalType": "uint256", "name": "_p", "type": "uint256" } ], "name": "multicall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "data", "type": "bytes32[]" }, { "internalType": "uint256", "name": "_p", "type": "uint256" } ], "name": "multicall2", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_u", "type": "address" } ], "name": "multicall3", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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" } ]
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600160146101000a81548160ff021916908360ff16021790555034801561007f575f80fd5b506a084595161401484a0000006004819055506040518060400160405280600681526020017f4772616369650000000000000000000000000000000000000000000000000000815250600590816100d6919061067a565b506040518060400160405280600681526020017f47524143494500000000000000000000000000000000000000000000000000008152506006908161011b919061067a565b503360025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060045460085f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561026b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028f91906107a7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610315573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061033991906107a7565b6040518363ffffffff1660e01b81526004016103569291906107e1565b6020604051808303815f875af1158015610372573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061039691906107a7565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6004546040516104339190610817565b60405180910390a3610830565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806104bb57607f821691505b6020821081036104ce576104cd610477565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104f5565b61053a86836104f5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61057e61057961057484610552565b61055b565b610552565b9050919050565b5f819050919050565b61059783610564565b6105ab6105a382610585565b848454610501565b825550505050565b5f90565b6105bf6105b3565b6105ca81848461058e565b505050565b5b818110156105ed576105e25f826105b7565b6001810190506105d0565b5050565b601f82111561063257610603816104d4565b61060c846104e6565b8101602085101561061b578190505b61062f610627856104e6565b8301826105cf565b50505b505050565b5f82821c905092915050565b5f6106525f1984600802610637565b1980831691505092915050565b5f61066a8383610643565b9150826002028217905092915050565b61068382610440565b67ffffffffffffffff81111561069c5761069b61044a565b5b6106a682546104a4565b6106b18282856105f1565b5f60209050601f8311600181146106e2575f84156106d0578287015190505b6106da858261065f565b865550610741565b601f1984166106f0866104d4565b5f5b82811015610717578489015182556001820191506020850194506020810190506106f2565b868310156107345784890151610730601f891682610643565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6107768261074d565b9050919050565b6107868161076c565b8114610790575f80fd5b50565b5f815190506107a18161077d565b92915050565b5f602082840312156107bc576107bb610749565b5b5f6107c984828501610793565b91505092915050565b6107db8161076c565b82525050565b5f6040820190506107f45f8301856107d2565b61080160208301846107d2565b9392505050565b61081181610552565b82525050565b5f60208201905061082a5f830184610808565b92915050565b6130608061083d5f395ff3fe608060405234801561000f575f80fd5b5060043610610135575f3560e01c806370a08231116100b6578063a457c2d71161007a578063a457c2d714610361578063a9059cbb14610391578063bda02782146103c1578063dd62ed3e146103f1578063ea923bae14610421578063ebfb412d1461043d57610135565b806370a08231146102cf578063715018a6146102ff5780638da5cb5b1461030957806395d89b41146103275780639e77ad241461034557610135565b8063313ce567116100fd578063313ce56714610205578063316d295f14610223578063395093511461023f5780635765a5cc1461026f57806358a102591461029f57610135565b806306fdde0314610139578063095ea7b31461015757806318160ddd1461018757806323b872dd146101a55780632a936382146101d5575b5f80fd5b610141610459565b60405161014e9190612027565b60405180910390f35b610171600480360381019061016c91906120e5565b6104e9565b60405161017e919061213d565b60405180910390f35b61018f6104ff565b60405161019c9190612165565b60405180910390f35b6101bf60048036038101906101ba919061217e565b610508565b6040516101cc919061213d565b60405180910390f35b6101ef60048036038101906101ea91906121ce565b61052a565b6040516101fc9190612165565b60405180910390f35b61020d61053f565b60405161021a9190612214565b60405180910390f35b61023d6004803603810190610238919061228e565b610552565b005b610259600480360381019061025491906120e5565b610688565b604051610266919061213d565b60405180910390f35b610289600480360381019061028491906122eb565b6106b7565b6040516102969190612165565b60405180910390f35b6102b960048036038101906102b49190612461565b6106d7565b6040516102c6919061213d565b60405180910390f35b6102e960048036038101906102e491906121ce565b6107b2565b6040516102f69190612165565b60405180910390f35b6103076107f8565b005b610311610944565b60405161031e91906124f0565b60405180910390f35b61032f610969565b60405161033c9190612027565b60405180910390f35b61035f600480360381019061035a91906121ce565b6109f9565b005b61037b600480360381019061037691906120e5565b610acd565b604051610388919061213d565b60405180910390f35b6103ab60048036038101906103a691906120e5565b610b44565b6040516103b8919061213d565b60405180910390f35b6103db60048036038101906103d691906121ce565b610b5a565b6040516103e89190612165565b60405180910390f35b61040b600480360381019061040691906122eb565b610b6f565b6040516104189190612165565b60405180910390f35b61043b6004803603810190610436919061228e565b610bf1565b005b610457600480360381019061045291906121ce565b610d27565b005b60606005805461046890612536565b80601f016020809104026020016040519081016040528092919081815260200182805461049490612536565b80156104df5780601f106104b6576101008083540402835291602001916104df565b820191905f5260205f20905b8154815290600101906020018083116104c257829003601f168201915b5050505050905090565b5f6104f5338484610e95565b6001905092915050565b5f600454905090565b5f610514843384611058565b61051f8484846110ec565b600190509392505050565b6009602052805f5260405f205f915090505481565b600160149054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d8906125b0565b60405180910390fd5b5f5b83839050811015610682575f60ff1673ffffffffffffffffffffffffffffffffffffffff16421115610675575f61064e5f8060ff1661ffff1603610646576060868685818110610636576106356125ce565b5b905060200201355f1c901c610648565b5f5b846113db565b9050610673858584818110610666576106656125ce565b5b905060200201358261142b565b505b80806001019150506105e3565b50505050565b5f803390506106ac81858561069d8589610b6f565b6106a79190612628565b610e95565b600191505092915050565b6007602052815f5260405f20602052805f5260405f205f91509150505481565b5f3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906125b0565b60405180910390fd5b5f5b82518110156107a557610798838281518110610788576107876125ce565b5b60200260200101518786886114b2565b8080600101915050610769565b5060019050949350505050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906125b0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606006805461097890612536565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490612536565b80156109ef5780601f106109c6576101008083540402835291602001916109ef565b820191905f5260205f20905b8154815290600101906020018083116109d257829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f906125b0565b60405180910390fd5b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555050565b5f803390505f610add8286610b6f565b905083811015610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b19906126cb565b60405180910390fd5b610b3882868684610b3391906126e9565b610e95565b60019250505092915050565b5f610b503384846110ec565b6001905092915050565b6008602052805f5260405f205f915090505481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c77906125b0565b60405180910390fd5b5f5b83839050811015610d21575f60ff1673ffffffffffffffffffffffffffffffffffffffff16421115610d14575f610ced5f8060ff1661ffff1603610ce5576060868685818110610cd557610cd46125ce565b5b905060200201355f1c901c610ce7565b5f5b846113db565b9050610d12858584818110610d0557610d046125ce565b5b9050602002013582611658565b505b8080600101915050610c82565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff1660035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dad906125b0565b60405180910390fd5b5f620186a06201869f610e5560015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e509190612730565b611808565b610e5f919061275b565b610e6991906127c9565b90505f610e7461198c565b90505f610e818383611b0c565b9050610e8f83828487611c40565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa90612869565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f68906128f7565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161104b9190612165565b60405180910390a3505050565b5f6110638484610b6f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110e657818110156110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c69061295f565b60405180910390fd5b6110e5848484846110e091906126e9565b610e95565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611151906129ed565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90612a7b565b60405180910390fd5b5f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124390612b09565b60405180910390fd5b5f61129460095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20545f611d2d565b1461129d575f80fd5b6112a78183611d2d565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061132f60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205483611d8a565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516113cd9190612165565b60405180910390a350505050565b5f61142360085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205483611de7565b905092915050565b61143481611dfc565b60095f805f141580611448575060016104d6145b611458576060855f1c901c611471565b60028063ffffffff161461146d576001611470565b60015b5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd855f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040161150e93929190612b27565b6020604051808303815f875af115801561152a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154e9190612b86565b508373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115cb9190612165565b60405180910390a38373ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822855f808760405161164a9493929190612bf3565b60405180910390a350505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f8014158061169f575060016104d6145b6116af576060835f1c901c6116b1565b5f5b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60085f805f1415806116fc57506001613050145b61170c576060875f1c901c611749565b3073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff1614611746576001611748565b5f5b5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516117909190612165565b60405180910390a36117a181611e11565b60085f805f1415806117b557506001613050145b6117c5576060855f1c901c6117c7565b5f5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050565b5f805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611874573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118989190612cb2565b50915091508373ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561191c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119409190612730565b73ffffffffffffffffffffffffffffffffffffffff161461197157806dffffffffffffffffffffffffffff16611983565b816dffffffffffffffffffffffffffff165b92505050919050565b606080600267ffffffffffffffff8111156119aa576119a9612329565b5b6040519080825280602002602001820160405280156119d85781602001602082028036833780820191505090505b50905030815f815181106119ef576119ee6125ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab79190612730565b81600181518110611acb57611aca6125ce565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508091505090565b5f6060600267ffffffffffffffff811115611b2a57611b29612329565b5b604051908082528060200260200182016040528015611b585781602001602082028036833780820191505090505b509050611b658484611e33565b9050805f81518110611b7a57611b796125ce565b5b602002602001015160085f6001421180611b94575060015f115b80611bb5575042600173ffffffffffffffffffffffffffffffffffffffff16105b611bbf575f611bce565b6060611bc9611edb565b5f1c901c5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611c159190612628565b92505081905550805f81518110611c2f57611c2e6125ce565b5b602002602001015191505092915050565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d2784848484611efe565b50505050565b5f82821115611d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6890612d4c565b60405180910390fd5b5f8284611d7e91906126e9565b90508091505092915050565b5f808284611d989190612628565b905083811015611ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd490612db4565b60405180910390fd5b8091505092915050565b5f8183611df491906127c9565b905092915050565b5f600a82611e0a9190612628565b9050919050565b5f620186a08083611e22919061275b565b611e2c91906127c9565b9050919050565b606060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7484846040518363ffffffff1660e01b8152600401611e91929190612e89565b5f60405180830381865afa158015611eab573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611ed39190612f8b565b905092915050565b5f60603073ffffffffffffffffffffffffffffffffffffffff16901b5f1b905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638803dbee858585856104b042611f4d9190612628565b6040518663ffffffff1660e01b8152600401611f6d959493929190612fd2565b5f604051808303815f875af1158015611f88573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611fb09190612f8b565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ff982611fb7565b6120038185611fc1565b9350612013818560208601611fd1565b61201c81611fdf565b840191505092915050565b5f6020820190508181035f83015261203f8184611fef565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61208182612058565b9050919050565b61209181612077565b811461209b575f80fd5b50565b5f813590506120ac81612088565b92915050565b5f819050919050565b6120c4816120b2565b81146120ce575f80fd5b50565b5f813590506120df816120bb565b92915050565b5f80604083850312156120fb576120fa612050565b5b5f6121088582860161209e565b9250506020612119858286016120d1565b9150509250929050565b5f8115159050919050565b61213781612123565b82525050565b5f6020820190506121505f83018461212e565b92915050565b61215f816120b2565b82525050565b5f6020820190506121785f830184612156565b92915050565b5f805f6060848603121561219557612194612050565b5b5f6121a28682870161209e565b93505060206121b38682870161209e565b92505060406121c4868287016120d1565b9150509250925092565b5f602082840312156121e3576121e2612050565b5b5f6121f08482850161209e565b91505092915050565b5f60ff82169050919050565b61220e816121f9565b82525050565b5f6020820190506122275f830184612205565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261224e5761224d61222d565b5b8235905067ffffffffffffffff81111561226b5761226a612231565b5b60208301915083602082028301111561228757612286612235565b5b9250929050565b5f805f604084860312156122a5576122a4612050565b5b5f84013567ffffffffffffffff8111156122c2576122c1612054565b5b6122ce86828701612239565b935093505060206122e1868287016120d1565b9150509250925092565b5f806040838503121561230157612300612050565b5b5f61230e8582860161209e565b925050602061231f8582860161209e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61235f82611fdf565b810181811067ffffffffffffffff8211171561237e5761237d612329565b5b80604052505050565b5f612390612047565b905061239c8282612356565b919050565b5f67ffffffffffffffff8211156123bb576123ba612329565b5b602082029050602081019050919050565b5f6123de6123d9846123a1565b612387565b9050808382526020820190506020840283018581111561240157612400612235565b5b835b8181101561242a5780612416888261209e565b845260208401935050602081019050612403565b5050509392505050565b5f82601f8301126124485761244761222d565b5b81356124588482602086016123cc565b91505092915050565b5f805f806080858703121561247957612478612050565b5b5f612486878288016120d1565b94505060206124978782880161209e565b93505060406124a8878288016120d1565b925050606085013567ffffffffffffffff8111156124c9576124c8612054565b5b6124d587828801612434565b91505092959194509250565b6124ea81612077565b82525050565b5f6020820190506125035f8301846124e1565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061254d57607f821691505b6020821081036125605761255f612509565b5b50919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f61259a601783611fc1565b91506125a582612566565b602082019050919050565b5f6020820190508181035f8301526125c78161258e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612632826120b2565b915061263d836120b2565b9250828201905080821115612655576126546125fb565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6126b5602583611fc1565b91506126c08261265b565b604082019050919050565b5f6020820190508181035f8301526126e2816126a9565b9050919050565b5f6126f3826120b2565b91506126fe836120b2565b9250828203905081811115612716576127156125fb565b5b92915050565b5f8151905061272a81612088565b92915050565b5f6020828403121561274557612744612050565b5b5f6127528482850161271c565b91505092915050565b5f612765826120b2565b9150612770836120b2565b925082820261277e816120b2565b91508282048414831517612795576127946125fb565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6127d3826120b2565b91506127de836120b2565b9250826127ee576127ed61279c565b5b828204905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612853602483611fc1565b915061285e826127f9565b604082019050919050565b5f6020820190508181035f83015261288081612847565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128e1602283611fc1565b91506128ec82612887565b604082019050919050565b5f6020820190508181035f83015261290e816128d5565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612949601d83611fc1565b915061295482612915565b602082019050919050565b5f6020820190508181035f8301526129768161293d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129d7602583611fc1565b91506129e28261297d565b604082019050919050565b5f6020820190508181035f830152612a04816129cb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a65602383611fc1565b9150612a7082612a0b565b604082019050919050565b5f6020820190508181035f830152612a9281612a59565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612af3602683611fc1565b9150612afe82612a99565b604082019050919050565b5f6020820190508181035f830152612b2081612ae7565b9050919050565b5f606082019050612b3a5f8301866124e1565b612b4760208301856124e1565b612b546040830184612156565b949350505050565b612b6581612123565b8114612b6f575f80fd5b50565b5f81519050612b8081612b5c565b92915050565b5f60208284031215612b9b57612b9a612050565b5b5f612ba884828501612b72565b91505092915050565b5f819050919050565b5f819050919050565b5f612bdd612bd8612bd384612bb1565b612bba565b6120b2565b9050919050565b612bed81612bc3565b82525050565b5f608082019050612c065f830187612156565b612c136020830186612be4565b612c206040830185612be4565b612c2d6060830184612156565b95945050505050565b5f6dffffffffffffffffffffffffffff82169050919050565b612c5881612c36565b8114612c62575f80fd5b50565b5f81519050612c7381612c4f565b92915050565b5f63ffffffff82169050919050565b612c9181612c79565b8114612c9b575f80fd5b50565b5f81519050612cac81612c88565b92915050565b5f805f60608486031215612cc957612cc8612050565b5b5f612cd686828701612c65565b9350506020612ce786828701612c65565b9250506040612cf886828701612c9e565b9150509250925092565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f612d36601e83611fc1565b9150612d4182612d02565b602082019050919050565b5f6020820190508181035f830152612d6381612d2a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d9e601b83611fc1565b9150612da982612d6a565b602082019050919050565b5f6020820190508181035f830152612dcb81612d92565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612e0481612077565b82525050565b5f612e158383612dfb565b60208301905092915050565b5f602082019050919050565b5f612e3782612dd2565b612e418185612ddc565b9350612e4c83612dec565b805f5b83811015612e7c578151612e638882612e0a565b9750612e6e83612e21565b925050600181019050612e4f565b5085935050505092915050565b5f604082019050612e9c5f830185612156565b8181036020830152612eae8184612e2d565b90509392505050565b5f67ffffffffffffffff821115612ed157612ed0612329565b5b602082029050602081019050919050565b5f81519050612ef0816120bb565b92915050565b5f612f08612f0384612eb7565b612387565b90508083825260208201905060208402830185811115612f2b57612f2a612235565b5b835b81811015612f545780612f408882612ee2565b845260208401935050602081019050612f2d565b5050509392505050565b5f82601f830112612f7257612f7161222d565b5b8151612f82848260208601612ef6565b91505092915050565b5f60208284031215612fa057612f9f612050565b5b5f82015167ffffffffffffffff811115612fbd57612fbc612054565b5b612fc984828501612f5e565b91505092915050565b5f60a082019050612fe55f830188612156565b612ff26020830187612156565b81810360408301526130048186612e2d565b905061301360608301856124e1565b6130206080830184612156565b969550505050505056fea2646970667358221220d5f8ef96a81b458465f7214bedf8b352a4b187b8a8bb801773f1a85b17f60a7264736f6c634300081a0033