[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "name": "AddressEmptyCode", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "AddressInsufficientBalance", "type": "error" }, { "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": [], "name": "FailedInnerCall", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint256", "name": "y", "type": "uint256" } ], "name": "PRBMath_MulDiv18_Overflow", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "name": "PRBMath_UD60x18_Sqrt_Overflow", "type": "error" }, { "inputs": [], "name": "PoolNotFound", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "buyer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "prices", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "fees", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "preSupply", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "postSupply", "type": "uint256" } ], "name": "BuyItems", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "claimedAmount", "type": "uint256" } ], "name": "ClaimRewards", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "collection", "type": "address" } ], "name": "SaleClosed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "seller", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "prices", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "fees", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "preSupply", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "postSupply", "type": "uint256" } ], "name": "SellItems", "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": "BASIS_POINTS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY_20", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_SUPPLY_404", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_RICH_BIDS_POINTS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_RICH_SHARE_POINTS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PROTOCOL_FEE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activeSupply", "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": [], "name": "amountInBank", "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": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "buy", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "buyQuota", "outputs": [ { "internalType": "uint256", "name": "prices", "type": "uint256" }, { "internalType": "uint256", "name": "fees", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "claimer", "type": "address" }, { "internalType": "uint256", "name": "totalRewards", "type": "uint256" }, { "internalType": "uint8", "name": "_v", "type": "uint8" }, { "internalType": "bytes32", "name": "_r", "type": "bytes32" }, { "internalType": "bytes32", "name": "_s", "type": "bytes32" } ], "name": "claimRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimedFees", "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": [], "name": "factoryAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "imageType", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "memeOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "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": "processSaleClosed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "rewardsClaimed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "saleBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "salePhase", "outputs": [ { "internalType": "enum MintRichCommonStorage.SalePhase", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "sell", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "sellQuota", "outputs": [ { "internalType": "uint256", "name": "prices", "type": "uint256" }, { "internalType": "uint256", "name": "fees", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052348015600e575f80fd5b5060156019565b60c9565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560685760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c65780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b613e46806100d65f395ff3fe60806040526004361061027a575f3560e01c806395d89b411161014b578063db986d51116100c6578063ecc116721161007c578063f67cedb111610062578063f67cedb114610703578063fab14b3614610717578063fc902f471461072b575f80fd5b8063ecc11672146106d0578063f58c35ed146106e4575f80fd5b8063e1f1c4a7116100ac578063e1f1c4a7146103f2578063e4849b321461068b578063e4f2487a146106aa575f80fd5b8063db986d5114610606578063dd62ed3e1461061b575f80fd5b8063babd70121161011b578063d3f730fd11610101578063d3f730fd146105a9578063d505accf146105d4578063d96a094a146105f3575f80fd5b8063babd70121461057d578063cfa883be14610592575f80fd5b806395d89b41146104e5578063966dae0e146104f9578063a447b52d1461052a578063a9059cbb1461055e575f80fd5b80632ecfa4cc116101f55780636c0360eb116101ab5780637ecebe00116101915780637ecebe001461046657806384b0196e146104855780638ba3fc6b146104ac575f80fd5b80636c0360eb1461043357806370a0823114610447575f80fd5b806332cb6b0c116101db57806332cb6b0c146103f25780633644e515146104075780633ad1a2321461041b575f80fd5b80632ecfa4cc146103b2578063313ce567146103d1575f80fd5b80630f0170d31161024a57806316f834e41161023057806316f834e41461034b57806318160ddd1461036057806323b872dd14610393575f80fd5b80630f0170d31461031557806313114a9d14610336575f80fd5b806306fdde0314610285578063095ea7b3146102af5780630b4501fd146102de5780630c21e6e314610300575f80fd5b3661028157005b5f80fd5b348015610290575f80fd5b50610299610740565b6040516102a69190613528565b60405180910390f35b3480156102ba575f80fd5b506102ce6102c936600461355b565b6107f8565b60405190151581526020016102a6565b3480156102e9575f80fd5b506102f2606481565b6040519081526020016102a6565b34801561030b575f80fd5b506102f260055481565b348015610320575f80fd5b5061033461032f3660046135c3565b610811565b005b348015610341575f80fd5b506102f260045481565b348015610356575f80fd5b506102f26103e881565b34801561036b575f80fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02546102f2565b34801561039e575f80fd5b506102ce6103ad36600461365f565b610a8d565b3480156103bd575f80fd5b506103346103cc3660046136b2565b610ab2565b3480156103dc575f80fd5b5060125b60405160ff90911681526020016102a6565b3480156103fd575f80fd5b506102f261271081565b348015610412575f80fd5b506102f2610d81565b348015610426575f80fd5b505f546103e09060ff1681565b34801561043e575f80fd5b50610299610d8f565b348015610452575f80fd5b506102f26104613660046136fe565b610e1b565b348015610471575f80fd5b506102f26104803660046136fe565b610e6b565b348015610490575f80fd5b50610499610e75565b6040516102a69796959493929190613719565b3480156104b7575f80fd5b506104c0610f6f565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b3480156104f0575f80fd5b50610299611027565b348015610504575f80fd5b506002546104c090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610535575f80fd5b506105496105443660046137d9565b611078565b604080519283526020830191909152016102a6565b348015610569575f80fd5b506102ce61057836600461355b565b6110a7565b348015610588575f80fd5b506102f260035481565b34801561059d575f80fd5b506102f2632faf080081565b3480156105b4575f80fd5b506102f26105c33660046136fe565b60076020525f908152604090205481565b3480156105df575f80fd5b506103346105ee3660046137f0565b6110b4565b6103346106013660046137d9565b61127c565b348015610611575f80fd5b506102f261232881565b348015610626575f80fd5b506102f2610635366004613859565b73ffffffffffffffffffffffffffffffffffffffff9182165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b348015610696575f80fd5b506103346106a53660046137d9565b611571565b3480156106b5575f80fd5b506002546106c39060ff1681565b6040516102a691906138bd565b3480156106db575f80fd5b50600b546102f2565b3480156106ef575f80fd5b506105496106fe3660046137d9565b61173d565b34801561070e575f80fd5b50610334611756565b348015610722575f80fd5b506102f2611cd1565b348015610736575f80fd5b506102f2611f4081565b60605f7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610776906138fc565b80601f01602080910402602001604051908101604052809291908181526020018280546107a2906138fc565b80156107ed5780601f106107c4576101008083540402835291602001916107ed565b820191905f5260205f20905b8154815290600101906020018083116107d057829003601f168201915b505050505091505090565b5f33610805818585611cde565b60019150505b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f8115801561085b5750825b90505f8267ffffffffffffffff1660011480156108775750303b155b905081158015610885575080155b156108bc576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561091d5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b61099f8c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611cf092505050565b6109dd8c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611d0692505050565b6109e5611d4d565b600280547fffffffffffffffffffffff000000000000000000000000000000000000000000163361010002179055610a1b611d5d565b6006558315610a7f5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050505050565b5f33610a9a858285611e36565b610aa5858585611f22565b60019150505b9392505050565b610aba611fcb565b33736441d3675d4d04722a1e8d512b7863da85b8829414610b3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c69642063616c6c657200000000000000000000000000000000000060448201526064015b60405180910390fd5b8473d23430aa3546c245c03ec1d3a2ab5d80cd98607e610b5f828787878761204c565b73ffffffffffffffffffffffffffffffffffffffff1614610bdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c6964207369676e65720000000000000000000000000000000000006044820152606401610b33565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600760205260409020548511610c0d5750610d51565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260076020526040812054610c3c908761397a565b9050600554600454610c4e919061397a565b811115610cb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c696420636c61696d20616d6f756e740000000000000000000000006044820152606401610b33565b8060055f828254610cc8919061398d565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f8181526007602052604090819020889055517f1f89f96333d3133000ee447473151fa9606543368f02271c9d95ae14f13bcc6790610d269084815260200190565b60405180910390a2610d4e73ffffffffffffffffffffffffffffffffffffffff831682612127565b50505b610d7a60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050505050565b5f610d8a61221f565b905090565b60018054610d9c906138fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610dc8906138fc565b8015610e135780601f10610dea57610100808354040283529160200191610e13565b820191905f5260205f20905b815481529060010190602001808311610df657829003601f168201915b505050505081565b5f807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b73ffffffffffffffffffffffffffffffffffffffff9093165f9081526020939093525050604090205490565b5f61080b82612228565b5f60608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008054909150158015610eb357506001810154155b610f19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610b33565b610f21612250565b610f296122a1565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b5f600160025460ff166001811115610f8957610f89613890565b03610f9357505f90565b6002546040517f6352211e00000000000000000000000000000000000000000000000000000000815230600482015261010090910473ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015611003573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8a91906139cd565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610776906138fc565b5f80611086600354846122ca565b91506127106110966064846139e8565b6110a09190613a2c565b9050915091565b5f33610805818585611f22565b834211156110f1576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610b33565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111688c73ffffffffffffffffffffffffffffffffffffffff165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f6111cf826122f0565b90505f6111de82878787612337565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611265576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b166024820152604401610b33565b6112708a8a8a611cde565b50505050505050505050565b611284611fcb565b5f60025460ff16600181111561129c5761129c613890565b14611303576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f5075626c69632073616c6520656e6465640000000000000000000000000000006044820152606401610b33565b5f811180156113235750632faf080081600354611320919061398d565b11155b6113af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f42757920616d6f756e742065786365656473204d41585f535550504c595f323060448201527f206c696d697400000000000000000000000000000000000000000000000000006064820152608401610b33565b5f806113ba83611078565b90925090505f6113ca828461398d565b905034811115611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f7420656e6f7567682045544820746f20627579204e4654730000000000006044820152606401610b33565b8160045f828254611447919061398d565b9091555050600380549085905f61145e838561398d565b9091555061146d905085612363565b600354604080518781526020810187905290810185905260608101839052608081019190915233907f7563cea05629dc70313ef5c2c2b487c34f102e2ab13ef2b9b528c5295f142aff9060a00160405180910390a2813411156114de576114de6114d7833461397a565b3390612127565b50505050632faf08006003540361154557600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560405130907f5caab17bad67c53e59f2f0cbddf48b5cbe8616c7facf4543348ce7ae4fbeaa9b905f90a25b61156e60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50565b611579611fcb565b5f60025460ff16600181111561159157611591613890565b146115f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f5075626c69632073616c6520656e6465640000000000000000000000000000006044820152606401610b33565b5f81118015611624575061160b33610e1b565b6116176012600a613b82565b61162190836139e8565b11155b61168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53656c6c20616d6f756e742065786365656473206f776e656420616d6f756e746044820152606401610b33565b5f806116958361173d565b90925090505f6116a5828461397a565b90508160045f8282546116b8919061398d565b9091555050600380549085905f6116cf838561397a565b909155506116de9050856123e8565b600354604080518781526020810187905290810185905260608101839052608081019190915233907f24fdba8550d5339c6fd93dd97b0e3c03badc4f632988ac11c15a86a9832124ad9060a00160405180910390a26114de3383612127565b5f8061108683600354611750919061397a565b846122ca565b61175e611fcb565b33734f8e0c6b39e65ad158560676ba387affa7aa0e17146117db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792061646d696e2063616e2070726f63657373000000000000000000006044820152606401610b33565b600160025460ff1660018111156117f4576117f4613890565b1461185b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f53616c65206e6f7420636c6f73656400000000000000000000000000000000006044820152606401610b33565b5f611864611cd1565b90505f6118736012600a613b82565b61188190630bebc2006139e8565b905061188d308261241c565b5f8073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc230106118c55773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2306118dc565b3073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b915091505f806118ec8484612476565b909250905073ffffffffffffffffffffffffffffffffffffffff811661193e576040517f76ecffc000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273c36442b4a4522e871399cd717abdd847ab11fe88600482015260248101869052309063095ea7b3906044016020604051808303815f875af11580156119ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d09190613b90565b506763eb89da4ed000005f6119e76012600a613b82565b6119f590630aba95006139e8565b604080516101608101825273ffffffffffffffffffffffffffffffffffffffff898116808352908916602083015262ffffff8816928201929092527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff277f06060820152620d8810608082015291925073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214905f9060a0810183611a8a578a611a8c565b8b5b815260200183611a9c578b611a9e565b8a5b815260200183611aae5784611ab0565b855b815260200183611ac05785611ac2565b845b8152600160208201524260409182015251909150611ba39073c36442b4a4522e871399cd717abdd847ab11fe88907f883164560000000000000000000000000000000000000000000000000000000090611b20908590602401613baf565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091528c612617565b506040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f12210e8a00000000000000000000000000000000000000000000000000000000179052611c1a9073c36442b4a4522e871399cd717abdd847ab11fe88906126cc565b50505050506002546040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffaa0a26400000000000000000000000000000000000000000000000000000000179052611c9f9173ffffffffffffffffffffffffffffffffffffffff61010090910416906126cc565b50505050505050611ccf60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b5f610d8a5f6003546122ca565b611ceb83838360016126d9565b505050565b611cf8612842565b611d0282826128a9565b5050565b611d0e612842565b61156e816040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525061290c565b611d55612842565b611ccf61297e565b604080518082018252601381527f4d696e74526963684e4654436f6e74726163740000000000000000000000000060209182015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527fd15cd32b6b0fb1a19a1bc1f23f84a87576a3a6a49751e4b6a697537ffb78eed9918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c0015b60405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff8381165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f1c5781811015611f0e576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610b33565b611f1c84848484035f6126d9565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316611f71576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152602401610b33565b73ffffffffffffffffffffffffffffffffffffffff8216611fc0576040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152602401610b33565b611ceb838383612986565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01612046576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b600654604080517f34fed911d769e15ec1bbe9a068c2303a82a09cf88c2c233c73c73457cad20f1b602082015273ffffffffffffffffffffffffffffffffffffffff881691810191909152606081018690525f9161211d91608001604051602081830303815290604052805190602001206040516020016120ff9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60405160208183030381529060405280519060200120858585612337565b9695505050505050565b80471015612163576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610b33565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f81146121b9576040519150601f19603f3d011682016040523d82523d5f602084013e6121be565b606091505b5050905080611ceb576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5f610d8a612b53565b5f807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00610e3f565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610776906138fc565b60605f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610765565b5f6122d483612bb0565b6122e66122e1848661398d565b612bb0565b610aab919061397a565b5f61080b6122fc61221f565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f8061234788888888612c5b565b9250925092506123578282612d4e565b50909695505050505050565b600b5433908290156123c3575f61237c84600b54612e51565b905061239e308461238f6012600a613b82565b61239990856139e8565b611f22565b80600b5f8282546123af919061397a565b909155506123bf9050818561397a565b9150505b8015611ceb57611ceb826123d96012600a613b82565b6123e390846139e8565b61241c565b612402306123f86012600a613b82565b61057890846139e8565b5080600b5f828254612414919061398d565b909155505050565b73ffffffffffffffffffffffffffffffffffffffff821661246b576040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152602401610b33565b611d025f8383612986565b5f806124828484612e66565b91508162ffffff165f0361249a57505f905080612610565b5f6125f673c36442b4a4522e871399cd717abdd847ab11fe887f13ead5620000000000000000000000000000000000000000000000000000000087878773ffffffffffffffffffffffffffffffffffffffff831673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214612519576a0d1b71758e219652bd3c36612529565b6d13880000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff948516602482015293909216604484015262ffffff1660648301526dffffffffffffffffffffffffffff16608482015260a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526126cc565b90508080602001905181019061260c91906139cd565b9150505b9250929050565b606081471015612655576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610b33565b5f808573ffffffffffffffffffffffffffffffffffffffff16848660405161267d9190613c9a565b5f6040518083038185875af1925050503d805f81146126b7576040519150601f19603f3d011682016040523d82523d5f602084013e6126bc565b606091505b509150915061211d868383612f19565b6060610aab83835f612617565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0073ffffffffffffffffffffffffffffffffffffffff8516612749576040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152602401610b33565b73ffffffffffffffffffffffffffffffffffffffff8416612798576040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152602401610b33565b73ffffffffffffffffffffffffffffffffffffffff8086165f90815260018301602090815260408083209388168352929052208390558115610d7a578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161283391815260200190565b60405180910390a35050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16611ccf576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6128b1612842565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace036128fd8482613cf4565b5060048101611f1c8382613cf4565b612914612842565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1026129608482613cf4565b506003810161296f8382613cf4565b505f8082556001909101555050565b6121f9612842565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0073ffffffffffffffffffffffffffffffffffffffff84166129e05781816002015f8282546129d5919061398d565b90915550612a909050565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526020829052604090205482811015612a65576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024810182905260448101849052606401610b33565b73ffffffffffffffffffffffffffffffffffffffff85165f9081526020839052604090209083900390555b73ffffffffffffffffffffffffffffffffffffffff8316612abb576002810180548390039055612ae6565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526020829052604090208054830190555b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612b4591815260200190565b60405180910390a350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612b7d612fa8565b612b85613023565b60408051602081019490945283019190915260608201524660808201523060a082015260c001611e1b565b5f806317d784008310612bd057612bcb6317d784008461397a565b612bde565b612bde836317d7840061397a565b90505f612c21612c19612c1c670de0b6b3a764000066470de4df820000612c0587806139e8565b612c0f919061398d565b612c1991906139e8565b90565b613078565b9050612c53612c19612c48612c3e670de0b6b3a7640000886139e8565b612c19908561398d565b6402540be4006130e6565b949350505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612c9457505f91506003905082612d44565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612ce5573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612d3b57505f925060019150829050612d44565b92505f91508190505b9450945094915050565b5f826003811115612d6157612d61613890565b03612d6a575050565b6001826003811115612d7e57612d7e613890565b03612db5576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115612dc957612dc9613890565b03612e03576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610b33565b6003826003811115612e1757612e17613890565b03611d02576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610b33565b5f818310612e5f5781610aab565b5090919050565b5f80612e7584846101f46130f4565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f03612ea0576101f491505061080b565b612ead8484610bb86130f4565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f03612ed857610bb891505061080b565b612ee584846127106130f4565b90508073ffffffffffffffffffffffffffffffffffffffff163b5f03612f105761271091505061080b565b505f9392505050565b606082612f2e57612f2982613215565b610aab565b8151158015612f52575073ffffffffffffffffffffffffffffffffffffffff84163b155b15612fa1576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610b33565b5080610aab565b5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10081612fd3612250565b805190915015612feb57805160209091012092915050565b81548015612ffa579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008161304e6122a1565b80519091501561306657805160209091012092915050565b60018201548015612ffa579392505050565b5f817812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218111156130d0576040517fedc236ad00000000000000000000000000000000000000000000000000000000815260048101849052602401610b33565b610aab612c19670de0b6b3a76400008302613257565b5f610aab612c1984846133d8565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061312c575f80fd5b506040805173ffffffffffffffffffffffffffffffffffffffff948516602080830191909152939094168482015262ffffff91909116606080850191909152815180850390910181526080840182528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a08501527f1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000000060a185015260b58401527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808501919091528151808503909101815260f59093019052815191012090565b8051156132255780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815f0361326657505f919050565b50600181700100000000000000000000000000000000811061328d5760409190911b9060801c5b6801000000000000000081106132a85760209190911b9060401c5b64010000000081106132bf5760109190911b9060201c5b6201000081106132d45760089190911b9060101c5b61010081106132e85760049190911b9060081c5b601081106132fb5760029190911b9060041c5b6004811061330b57600182901b91505b600182848161331c5761331c6139ff565b048301901c91506001828481613334576133346139ff565b048301901c9150600182848161334c5761334c6139ff565b048301901c91506001828481613364576133646139ff565b048301901c9150600182848161337c5761337c6139ff565b048301901c91506001828481613394576133946139ff565b048301901c915060018284816133ac576133ac6139ff565b048301901c91505f8284816133c3576133c36139ff565b0490508083106133d1578092505b5050919050565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609848602925082811083820303915050805f036134285750670de0b6b3a76400009004905061080b565b670de0b6b3a76400008110613473576040517f5173648d0000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604401610b33565b5f670de0b6b3a7640000858709620400008185030493109091037d40000000000000000000000000000000000000000000000000000000000002919091177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac106690291505092915050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610aab60208301846134dc565b73ffffffffffffffffffffffffffffffffffffffff8116811461156e575f80fd5b5f806040838503121561356c575f80fd5b82356135778161353a565b946020939093013593505050565b5f8083601f840112613595575f80fd5b50813567ffffffffffffffff8111156135ac575f80fd5b602083019150836020828501011115612610575f80fd5b5f805f805f805f6080888a0312156135d9575f80fd5b873567ffffffffffffffff808211156135f0575f80fd5b6135fc8b838c01613585565b909950975060208a0135915080821115613614575f80fd5b6136208b838c01613585565b909750955060408a0135945060608a013591508082111561363f575f80fd5b5061364c8a828b01613585565b989b979a50959850939692959293505050565b5f805f60608486031215613671575f80fd5b833561367c8161353a565b9250602084013561368c8161353a565b929592945050506040919091013590565b803560ff811681146136ad575f80fd5b919050565b5f805f805f60a086880312156136c6575f80fd5b85356136d18161353a565b9450602086013593506136e66040870161369d565b94979396509394606081013594506080013592915050565b5f6020828403121561370e575f80fd5b8135610aab8161353a565b7fff00000000000000000000000000000000000000000000000000000000000000881681525f602060e0602084015261375560e084018a6134dc565b8381036040850152613767818a6134dc565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b818110156137c7578351835292840192918401916001016137ab565b50909c9b505050505050505050505050565b5f602082840312156137e9575f80fd5b5035919050565b5f805f805f805f60e0888a031215613806575f80fd5b87356138118161353a565b965060208801356138218161353a565b9550604088013594506060880135935061383d6080890161369d565b925060a0880135915060c0880135905092959891949750929550565b5f806040838503121561386a575f80fd5b82356138758161353a565b915060208301356138858161353a565b809150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60208101600283106138f6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b91905290565b600181811c9082168061391057607f821691505b602082108103613947577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561080b5761080b61394d565b8082018082111561080b5761080b61394d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f602082840312156139dd575f80fd5b8151610aab8161353a565b808202811582820484141761080b5761080b61394d565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82613a5f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b600181815b80851115613abd57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613aa357613aa361394d565b80851615613ab057918102915b93841c9390800290613a69565b509250929050565b5f82613ad35750600161080b565b81613adf57505f61080b565b8160018114613af55760028114613aff57613b1b565b600191505061080b565b60ff841115613b1057613b1061394d565b50506001821b61080b565b5060208310610133831016604e8410600b8410161715613b3e575081810a61080b565b613b488383613a64565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115613b7a57613b7a61394d565b029392505050565b5f610aab60ff841683613ac5565b5f60208284031215613ba0575f80fd5b81518015158114610aab575f80fd5b815173ffffffffffffffffffffffffffffffffffffffff16815261016081016020830151613bf5602084018273ffffffffffffffffffffffffffffffffffffffff169052565b506040830151613c0c604084018262ffffff169052565b506060830151613c21606084018260020b9052565b506080830151613c36608084018260020b9052565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151613c898285018273ffffffffffffffffffffffffffffffffffffffff169052565b505061014092830151919092015290565b5f82518060208501845e5f920191825250919050565b601f821115611ceb57805f5260205f20601f840160051c81016020851015613cd55750805b601f840160051c820191505b81811015610d7a575f8155600101613ce1565b815167ffffffffffffffff811115613d0e57613d0e6139a0565b613d2281613d1c84546138fc565b84613cb0565b602080601f831160018114613d74575f8415613d3e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555613e08565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613dc057888601518255948401946001909101908401613da1565b5085821015613dfc57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b505060018460011b0185555b50505050505056fea264697066735822122045b3e7c97fac30b7a171e212c7d140b3be84fd6a10034e6805181b634a38003f64736f6c63430008190033