[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InsufficientPermit", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "ZeroAssets", "type": "error" }, { "inputs": [], "name": "ZeroReceiver", "type": "error" }, { "inputs": [], "name": "ZeroShares", "type": "error" }, { "inputs": [], "name": "ZeroSupply", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "caller_", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner_", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "assets_", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "freeAssets_", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "issuanceRate_", "type": "uint256" } ], "name": "IssuanceParamsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner_", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner_", "type": "address" } ], "name": "OwnershipAccepted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner_", "type": "address" }, { "indexed": true, "internalType": "address", "name": "pendingOwner_", "type": "address" } ], "name": "PendingOwnerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner_", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "vestingPeriodFinish_", "type": "uint256" } ], "name": "VestingScheduleUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "caller_", "type": "address" }, { "indexed": true, "internalType": "address", "name": "receiver_", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner_", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "assets_", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "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": "result", "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": [], "name": "asset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account_", "type": "address" } ], "name": "balanceOfAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" } ], "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" }, { "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": "depositWithPermit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "freeAssets", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "issuanceRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastUpdated", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver_", "type": "address" } ], "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "receiver_", "type": "address" } ], "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" }, { "internalType": "uint256", "name": "maxAssets_", "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": "mintWithPermit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "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": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "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": "precision", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" }, { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "vestingPeriod_", "type": "uint256" } ], "name": "updateVestingSchedule", "outputs": [ { "internalType": "uint256", "name": "issuanceRate_", "type": "uint256" }, { "internalType": "uint256", "name": "freeAssets_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "vestingPeriodFinish", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" }, { "internalType": "address", "name": "receiver_", "type": "address" }, { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" } ]
60a0604052346100a75773c701e3d2dccf4115d87a92f2a6e0eeef2f0d0f2580638b78c6d819555f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35f80546001600160a01b03191673476908d9f75687684ce3dbf6990e722129cdbcc61790556c0c9f2c9cd04674edea40000000608052611ea1806100ac60a03960805160a081816104eb0152818161094b0152611e2b015260a0f35b5f80fdfe60406080815260049081361015610014575f80fd5b5f91823560e01c90816301e1d1141461166557816306fdde03146115f257816307a2d13a1461110a578163095ea7b31461156a5781630a28a4771461152c57816311f240ac146114ef57816318160ddd146114aa57816323b872dd146113a05781632569296214611337578163313ce567146112fd5781633644e5151461121257816338d52e0f146111c15781633c2f7773146111855781633c9ae2ba14611148578163402d267d146109ef5781634cdad5061461110a57816350921b2314610fda57816354d1f13d14610f7657816360dd37d914610e105781636e553f6514610da157816370a08231146106b1578163715018a614610d225781637ecebe0014610cd05781638da5cb5b14610c5e5781639159b206146109ab57816394bf804d14610beb57816395d89b4114610b74578163a9059cbb14610acb578163b3d7f6b914610a8d578163b460af9414610a44578163ba087652146109f4578163c63d75b6146109ef578163c6e6f592146103d5578163ce96cb77146109ab578163d0b06f5d1461096e578163d3b5dc3b14610915578163d505accf14610703578163d905777e146106b1578163dd62ed3e14610655578163e13aa9901461041a578163ef8b30f7146103d5578163f04e283e1461030c578163f2fde38b14610258575063fee81cf414610204575f80fd5b346102545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102545760209161023e611704565b9063389a75e1600c525281600c20549051908152f35b5080fd5b839060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102545761028c611704565b90610295611820565b8160601b15610301575073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b8360207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d25761033f611704565b610347611820565b63389a75e1600c528082526020600c2092835442116103c757508173ffffffffffffffffffffffffffffffffffffffff929355167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188352601cfd5b80fd5b8284346103d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d2575061041360209235611d4b565b9051908152f35b905082346103d2576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457823592610458611820565b6805345cdf77eb68f44c541561062e57610470611dfe565b928360015560248373ffffffffffffffffffffffffffffffffffffffff8354168851928380927f70a0823100000000000000000000000000000000000000000000000000000000825230888301525afa9182156106235791859183889492610588575b5050916105106104e961051593610524956118b4565b7f0000000000000000000000000000000000000000000000000000000000000000906118ee565b611901565b94856002554260035542611938565b8091557f68b521a89bf844ff03e484d89fd64ce292a698ec522170f0dad7ecd11c2dc8fa8580518581528685820152a184519081527f8c84e3b4df93f5b7c8d4ab6647708f5b14cacc124e22908187e30695ec54bab3823392a28351928352820152f35b9250925050833d851161061c575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116830183811067ffffffffffffffff8211176105f057859184918a52810103126103d2575051849084906105106104e96104d3565b6024836041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b503d610596565b8751903d90823e3d90fd5b84517fc16f3a93000000000000000000000000000000000000000000000000000000008152fd5b50503461025457807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457602091610690611704565b9061069961172b565b8452637f5e9f20600c52526034600c20549051908152f35b5050346102545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020916106ed611704565b906387a211a2600c525281600c20549051908152f35b8383346102545760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102545761073c611704565b61074461172b565b606435906044356107536117b0565b9480519361076085611898565b601385527f426974636f696e32303135205374616b696e67000000000000000000000000006020809601528042116109095781519073ffffffffffffffffffffffffffffffffffffffff809716968795169765383775081901600e52858a5260c087600c20938454937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8252848a83017f60cdb86045a460b51cb4f9698cb21d2c1ea9e693f3ebc72eff691a358581991d81528d8985017fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc68152606086019c8d469052608087019330855260a08820602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988525252898b525260a082015220604e526042602c208a5260ff16865260a435835260c435606052858060808b60015afa90873d51036108fd577f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259798999a5001905586777f5e9f2000000000000000000000000000000000000000001790526034602c2055a380f35b8a63ddafbaef8b52601cfd5b88631a15a3cc8952601cfd5b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020906003549051908152f35b5050346102545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020906104136109ea611704565b611d07565b61174e565b50503461025457610a04366117c0565b68929eee149b4bd21268939291939460028654146103d2575093610a3d60019260209660028455610a3482611d22565b96873393611b34565b5551908152f35b50503461025457610a54366117c0565b68929eee149b4bd21268939291939460028654146103d2575093610a3d60019260209660028455610a8482611dcf565b96339288611b34565b8284346103d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d2575061041360209235611d7a565b8284346103d257817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d257610b03611704565b602435916387a211a2600c5233815260209485600c2090815490818611610b69575084900390555282600c208181540190558252600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8480a35160018152f35b63f4d678b88452601cfd5b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254578051610be791610bb382611898565b600582527f7857425443000000000000000000000000000000000000000000000000000000602083015251918291826116a0565b0390f35b905034610c5a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c5a573590610c2561172b565b9168929eee149b4bd212689360028554146103d2575083610a3d600192600260209755610c5181611d7a565b95863392611945565b8280fd5b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102545760209073ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754915191168152f35b5050346102545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457602091610d0c611704565b906338377508600c525281600c20549051908152f35b83807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d257610d54611820565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b905034610c5a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c5a573590610ddb61172b565b9168929eee149b4bd212689360028554146103d2575083610a3d600192600260209755610e0781611d4b565b95339187611945565b8383346102545760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254578235610e4b61172b565b60443593610e576117b0565b9568929eee149b4bd21268966002885414610c5a5760028855610e7985611d7a565b96808811610f4e5773ffffffffffffffffffffffffffffffffffffffff84541691823b15610f4a5787517fd505accf000000000000000000000000000000000000000000000000000000008152339481019485523060208601526040850192909252606435606085015260ff16608084015260a43560a084015260c43560c084015292918291849182908490829060e00103925af1908115610f3f57509260209692610a3d92600195610f30575b50863392611945565b610f3990611857565b88610f27565b8551903d90823e3d90fd5b8480fd5b8287517f668d0364000000000000000000000000000000000000000000000000000000008152fd5b83807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d25763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8383346102545760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457823561101561172b565b9260643560ff811681036102545768929eee149b4bd21268956002875414610c5a576002875573ffffffffffffffffffffffffffffffffffffffff83541690813b156111065785517fd505accf0000000000000000000000000000000000000000000000000000000081523391810191825230602083015260408201869052604435606083015260ff909316608082015260843560a082015260a43560c08201529192918291849182908490829060e00103925af19081156110fb575060019260209692610a3d926110ec575b50610e0781611d4b565b6110f590611857565b876110e2565b8451903d90823e3d90fd5b8380fd5b8284346103d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d2575061041360209235611d22565b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020906002549051908152f35b905034610c5a57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c5a5760209250549051908152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102545773ffffffffffffffffffffffffffffffffffffffff60209254169051908152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457807f426974636f696e32303135205374616b696e6700000000000000000000000000602080935161127281611898565b60138152015260a081517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f60cdb86045a460b51cb4f9698cb21d2c1ea9e693f3ebc72eff691a358581991d848201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc683820152466060820152306080820152209051908152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020905160088152f35b83807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d25763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b8383346102545760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576113d9611704565b6113e161172b565b6044358260601b91602095338752600c93637f5e9f208117855260348520805460018101611487575b50506387a211a217845286842080549889851161147c57508373ffffffffffffffffffffffffffffffffffffffff969798990390555285822081815401905585525160601c91167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8480a35160018152f35b63f4d678b88352601cfd5b80861161149e5785900390556387a211a28a61140a565b8a6313be252b8552601cfd5b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020906805345cdf77eb68f44c549051908152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020906001549051908152f35b8284346103d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103d2575061041360209235611dcf565b50503461025457807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254576020916115a5611704565b602435908452637f5e9f20600c52338252806034600c20558152602c5160601c907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610254578051610be79161163182611898565b601382527f426974636f696e32303135205374616b696e6700000000000000000000000000602083015251918291826116a0565b50503461025457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261025457602090610413611dfe565b6020808252825181830181905293925f5b8581106116f0575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f845f6040809697860101520116010190565b8181018301518482016040015282016116b1565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361172757565b5f80fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361172757565b346117275760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261172757611785611704565b5060206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8152f35b6084359060ff8216820361172757565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060910112611727576004359073ffffffffffffffffffffffffffffffffffffffff906024358281168103611727579160443590811681036117275790565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754330361184a57565b6382b429005f526004601cfd5b67ffffffffffffffff811161186b57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761186b57604052565b919082039182116118c157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818102929181159184041417156118c157565b811561190b570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b919082018092116118c157565b90929173ffffffffffffffffffffffffffffffffffffffff91828216918215611b0a578115611ae0578515611ab6576805345cdf77eb68f44c805491838301928310611aa95787967f68b521a89bf844ff03e484d89fd64ce292a698ec522170f0dad7ecd11c2dc8fa96606494601c94556387a211a2600c525f9788968794855260209889600c20828154019055818a52600c5160601c867fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c80a3611a128c611a0d611dfe565b611938565b9081600155611a1f611ce7565b9060409d8e9485519182528d8201527fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d785888a1692a382519182528a820152a18254169088519960605230895260601b602c526f23b872dd000000000000000000000000600c525af13d156001835114171615611a9c5760605252565b637939f42490526004601cfd5b63e5cfe9575f526004601cfd5b60046040517f32d971dc000000000000000000000000000000000000000000000000000000008152fd5b60046040517f9811e0c7000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6ba9ecd8000000000000000000000000000000000000000000000000000000008152fd5b9091929373ffffffffffffffffffffffffffffffffffffffff918285168015611b0a578115611ae0578415611ab6578387169084841693828503611ca3575b506387a211a2600c525f9788526020600c208054808511611c965760406010968660209b968d9b9660449b968d9a7f68b521a89bf844ff03e484d89fd64ce292a698ec522170f0dad7ecd11c2dc8fa970390556805345cdf77eb68f44c838154039055828a5289828f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9083a3611c1188611c0c611dfe565b6118b4565b93846001557ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db86611c40611ce7565b958151908c82526020820152a482519182528b820152a1835416916014526034526fa9059cbb00000000000000000000000082525af13d156001835114171615611c8957603452565b6390b8ec1890526004601cfd5b63f4d678b88a526004601cfd5b602052637f5e9f20600c52875f526034600c20805460018101611cc7575b50611b73565b808511611cda5784900390555f80611cc1565b6313be252b5f526004601cfd5b4260035560045442115f14611cff575f5b8060025590565b600254611cf8565b6387a211a2600c525f52611d1f6020600c2054611d22565b90565b6805345cdf77eb68f44c5480611d36575090565b610510611d1f92611d45611dfe565b906118ee565b6805345cdf77eb68f44c5480611d5f575090565b611d6c90611d1f926118ee565b611d74611dfe565b90611901565b6805345cdf77eb68f44c5480611d8e575090565b611d9d611d1f92611d45611dfe565b611da78282611901565b90821561190b57611d1f925f910615611dc7575060ff60015b1690611938565b60ff90611dc0565b6805345cdf77eb68f44c5480611de3575090565b611df090611d1f926118ee565b611df8611dfe565b90611d9d565b6002548015611e6457611e50611e29611d1f926004546003548142115f14611e5957611d45916118b4565b7f000000000000000000000000000000000000000000000000000000000000000090611901565b60015490611938565b611d459150426118b4565b506001549056fea264697066735822122047524b0084d0b78ceb9f71017c2182c4c41c5a81771b37933aafcef3f2012aa464736f6c63430008140033