[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "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": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "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": [], "name": "EIP712DomainChanged", "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": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "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": "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" } ]
610160604052348015610010575f80fd5b506040518060400160405280600781526020017f4d79546f6b656e00000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b000000000000000000000000000000000000000000000000000000000081525081600390816100f9919061050b565b508060049081610109919061050b565b5050506101206005836101bc60201b90919060201c565b610120818152505061013c6006826101bc60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a0818152505061017961020960201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506107aa565b5f6020835110156101dd576101d68361026360201b60201c565b9050610203565b826101ed836102c860201b60201c565b5f0190816101fb919061050b565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001610248959493929190610640565b60405160208183030381529060405280519060200120905090565b5f80829050601f815111156102af57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016102a691906106f7565b60405180910390fd5b8051816102bb90610744565b5f1c175f1b915050919050565b5f819050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061034c57607f821691505b60208210810361035f5761035e610308565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103c17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610386565b6103cb8683610386565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61040f61040a610405846103e3565b6103ec565b6103e3565b9050919050565b5f819050919050565b610428836103f5565b61043c61043482610416565b848454610392565b825550505050565b5f90565b610450610444565b61045b81848461041f565b505050565b5b8181101561047e576104735f82610448565b600181019050610461565b5050565b601f8211156104c35761049481610365565b61049d84610377565b810160208510156104ac578190505b6104c06104b885610377565b830182610460565b50505b505050565b5f82821c905092915050565b5f6104e35f19846008026104c8565b1980831691505092915050565b5f6104fb83836104d4565b9150826002028217905092915050565b610514826102d1565b67ffffffffffffffff81111561052d5761052c6102db565b5b6105378254610335565b610542828285610482565b5f60209050601f831160018114610573575f8415610561578287015190505b61056b85826104f0565b8655506105d2565b601f19841661058186610365565b5f5b828110156105a857848901518255600182019150602085019450602081019050610583565b868310156105c557848901516105c1601f8916826104d4565b8355505b6001600288020188555050505b505050505050565b5f819050919050565b6105ec816105da565b82525050565b6105fb816103e3565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61062a82610601565b9050919050565b61063a81610620565b82525050565b5f60a0820190506106535f8301886105e3565b61066060208301876105e3565b61066d60408301866105e3565b61067a60608301856105f2565b6106876080830184610631565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6106c9826102d1565b6106d38185610691565b93506106e38185602086016106a1565b6106ec816106af565b840191505092915050565b5f6020820190508181035f83015261070f81846106bf565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f61073b82516105da565b80915050919050565b5f61074e82610717565b8261075884610721565b905061076381610730565b925060208210156107a35761079e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802610386565b831692505b5050919050565b60805160a05160c05160e051610100516101205161014051611c186107fb5f395f610ad901525f610a9e01525f610fd201525f610fb101525f61091d01525f61097301525f61099c0152611c185ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c806370a082311161008a57806395d89b411161006457806395d89b4114610264578063a9059cbb14610282578063d505accf146102b2578063dd62ed3e146102ce576100e8565b806370a08231146101e05780637ecebe001461021057806384b0196e14610240576100e8565b806323b872dd116100c657806323b872dd14610158578063313ce567146101885780633644e515146101a657806340c10f19146101c4576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f80fd5b6100f46102fe565b6040516101019190611488565b60405180910390f35b610124600480360381019061011f9190611539565b61038e565b6040516101319190611591565b60405180910390f35b6101426103b0565b60405161014f91906115b9565b60405180910390f35b610172600480360381019061016d91906115d2565b6103b9565b60405161017f9190611591565b60405180910390f35b6101906103e7565b60405161019d919061163d565b60405180910390f35b6101ae6103ef565b6040516101bb919061166e565b60405180910390f35b6101de60048036038101906101d99190611539565b6103fd565b005b6101fa60048036038101906101f59190611687565b61040b565b60405161020791906115b9565b60405180910390f35b61022a60048036038101906102259190611687565b610450565b60405161023791906115b9565b60405180910390f35b610248610461565b60405161025b97969594939291906117b2565b60405180910390f35b61026c610506565b6040516102799190611488565b60405180910390f35b61029c60048036038101906102979190611539565b610596565b6040516102a99190611591565b60405180910390f35b6102cc60048036038101906102c79190611888565b6105b8565b005b6102e860048036038101906102e39190611925565b6106fd565b6040516102f591906115b9565b60405180910390f35b60606003805461030d90611990565b80601f016020809104026020016040519081016040528092919081815260200182805461033990611990565b80156103845780601f1061035b57610100808354040283529160200191610384565b820191905f5260205f20905b81548152906001019060200180831161036757829003601f168201915b5050505050905090565b5f8061039861077f565b90506103a5818585610786565b600191505092915050565b5f600254905090565b5f806103c361077f565b90506103d0858285610798565b6103db85858561082a565b60019150509392505050565b5f6012905090565b5f6103f861091a565b905090565b61040782826109d0565b5050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f61045a82610a4f565b9050919050565b5f6060805f805f6060610472610a95565b61047a610ad0565b46305f801b5f67ffffffffffffffff811115610499576104986119c0565b5b6040519080825280602002602001820160405280156104c75781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b60606004805461051590611990565b80601f016020809104026020016040519081016040528092919081815260200182805461054190611990565b801561058c5780601f106105635761010080835404028352916020019161058c565b820191905f5260205f20905b81548152906001019060200180831161056f57829003601f168201915b5050505050905090565b5f806105a061077f565b90506105ad81858561082a565b600191505092915050565b834211156105fd57836040517f627913020000000000000000000000000000000000000000000000000000000081526004016105f491906115b9565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861062b8c610b0b565b89604051602001610641969594939291906119ed565b6040516020818303038152906040528051906020012090505f61066382610b5e565b90505f61067282878787610b77565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146106e657808a6040517f4b800e460000000000000000000000000000000000000000000000000000000081526004016106dd929190611a4c565b60405180910390fd5b6106f18a8a8a610786565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6107938383836001610ba5565b505050565b5f6107a384846106fd565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108245781811015610815578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161080c93929190611a73565b60405180910390fd5b61082384848484035f610ba5565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361089a575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016108919190611aa8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361090a575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109019190611aa8565b60405180910390fd5b610915838383610d74565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561099557507f000000000000000000000000000000000000000000000000000000000000000046145b156109c2577f000000000000000000000000000000000000000000000000000000000000000090506109cd565b6109ca610f8d565b90505b90565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a40575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610a379190611aa8565b60405180910390fd5b610a4b5f8383610d74565b5050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060610acb60057f000000000000000000000000000000000000000000000000000000000000000061102290919063ffffffff16565b905090565b6060610b0660067f000000000000000000000000000000000000000000000000000000000000000061102290919063ffffffff16565b905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f610b70610b6a61091a565b836110cf565b9050919050565b5f805f80610b878888888861110f565b925092509250610b9782826111f6565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c15575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610c0c9190611aa8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c85575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610c7c9190611aa8565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610d6e578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d6591906115b9565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dc4578060025f828254610db89190611aee565b92505081905550610e92565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610e4d578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610e4493929190611a73565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed9578060025f8282540392505081905550610f23565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f8091906115b9565b60405180910390a3505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611007959493929190611b21565b60405160208183030381529060405280519060200120905090565b606060ff5f1b831461103e5761103783611358565b90506110c9565b81805461104a90611990565b80601f016020809104026020016040519081016040528092919081815260200182805461107690611990565b80156110c15780601f10611098576101008083540402835291602001916110c1565b820191905f5260205f20905b8154815290600101906020018083116110a457829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c111561114b575f6003859250925092506111ec565b5f6001888888886040515f815260200160405260405161116e9493929190611b72565b6020604051602081039080840390855afa15801561118e573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111df575f60015f801b935093509350506111ec565b805f805f1b935093509350505b9450945094915050565b5f600381111561120957611208611bb5565b5b82600381111561121c5761121b611bb5565b5b0315611354576001600381111561123657611235611bb5565b5b82600381111561124957611248611bb5565b5b03611280576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561129457611293611bb5565b5b8260038111156112a7576112a6611bb5565b5b036112eb57805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016112e291906115b9565b60405180910390fd5b6003808111156112fe576112fd611bb5565b5b82600381111561131157611310611bb5565b5b0361135357806040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260040161134a919061166e565b60405180910390fd5b5b5050565b60605f611364836113ca565b90505f602067ffffffffffffffff811115611382576113816119c0565b5b6040519080825280601f01601f1916602001820160405280156113b45781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f81111561140f576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61145a82611418565b6114648185611422565b9350611474818560208601611432565b61147d81611440565b840191505092915050565b5f6020820190508181035f8301526114a08184611450565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114d5826114ac565b9050919050565b6114e5816114cb565b81146114ef575f80fd5b50565b5f81359050611500816114dc565b92915050565b5f819050919050565b61151881611506565b8114611522575f80fd5b50565b5f813590506115338161150f565b92915050565b5f806040838503121561154f5761154e6114a8565b5b5f61155c858286016114f2565b925050602061156d85828601611525565b9150509250929050565b5f8115159050919050565b61158b81611577565b82525050565b5f6020820190506115a45f830184611582565b92915050565b6115b381611506565b82525050565b5f6020820190506115cc5f8301846115aa565b92915050565b5f805f606084860312156115e9576115e86114a8565b5b5f6115f6868287016114f2565b9350506020611607868287016114f2565b925050604061161886828701611525565b9150509250925092565b5f60ff82169050919050565b61163781611622565b82525050565b5f6020820190506116505f83018461162e565b92915050565b5f819050919050565b61166881611656565b82525050565b5f6020820190506116815f83018461165f565b92915050565b5f6020828403121561169c5761169b6114a8565b5b5f6116a9848285016114f2565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6116e6816116b2565b82525050565b6116f5816114cb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61172d81611506565b82525050565b5f61173e8383611724565b60208301905092915050565b5f602082019050919050565b5f611760826116fb565b61176a8185611705565b935061177583611715565b805f5b838110156117a557815161178c8882611733565b97506117978361174a565b925050600181019050611778565b5085935050505092915050565b5f60e0820190506117c55f83018a6116dd565b81810360208301526117d78189611450565b905081810360408301526117eb8188611450565b90506117fa60608301876115aa565b61180760808301866116ec565b61181460a083018561165f565b81810360c08301526118268184611756565b905098975050505050505050565b61183d81611622565b8114611847575f80fd5b50565b5f8135905061185881611834565b92915050565b61186781611656565b8114611871575f80fd5b50565b5f813590506118828161185e565b92915050565b5f805f805f805f60e0888a0312156118a3576118a26114a8565b5b5f6118b08a828b016114f2565b97505060206118c18a828b016114f2565b96505060406118d28a828b01611525565b95505060606118e38a828b01611525565b94505060806118f48a828b0161184a565b93505060a06119058a828b01611874565b92505060c06119168a828b01611874565b91505092959891949750929550565b5f806040838503121561193b5761193a6114a8565b5b5f611948858286016114f2565b9250506020611959858286016114f2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806119a757607f821691505b6020821081036119ba576119b9611963565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c082019050611a005f83018961165f565b611a0d60208301886116ec565b611a1a60408301876116ec565b611a2760608301866115aa565b611a3460808301856115aa565b611a4160a08301846115aa565b979650505050505050565b5f604082019050611a5f5f8301856116ec565b611a6c60208301846116ec565b9392505050565b5f606082019050611a865f8301866116ec565b611a9360208301856115aa565b611aa060408301846115aa565b949350505050565b5f602082019050611abb5f8301846116ec565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611af882611506565b9150611b0383611506565b9250828201905080821115611b1b57611b1a611ac1565b5b92915050565b5f60a082019050611b345f83018861165f565b611b41602083018761165f565b611b4e604083018661165f565b611b5b60608301856115aa565b611b6860808301846116ec565b9695505050505050565b5f608082019050611b855f83018761165f565b611b92602083018661162e565b611b9f604083018561165f565b611bac606083018461165f565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202792127965d09e173e15894822d801b70dca3237764b66b2b6f364f21346bd2c64736f6c63430008190033