0 txs
2k calls
constructor
constructor()
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
asset
viewfunction asset() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
balanceOfAsset
viewfunction balanceOfAsset(address account) view returns (uint256)
convertToAssets
viewfunction convertToAssets(uint256 shares) view returns (uint256)
convertToShares
viewfunction convertToShares(uint256 assets) view returns (uint256)
decimals
purefunction decimals() pure returns (uint8)
hasShares
viewfunction hasShares(address account) view returns (bool)
maxDeposit
viewfunction maxDeposit(address) view returns (uint256)
maxMint
viewfunction maxMint(address) view returns (uint256)
maxRedeem
viewfunction maxRedeem(address owner) view returns (uint256)
maxWithdraw
viewfunction maxWithdraw(address owner) view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
previewDeposit
viewfunction previewDeposit(uint256 assets) view returns (uint256)
previewMint
viewfunction previewMint(uint256 shares) view returns (uint256)
previewRedeem
viewfunction previewRedeem(uint256 shares) view returns (uint256)
previewWithdraw
viewfunction previewWithdraw(uint256 assets) view returns (uint256)
symbol
viewfunction symbol() view returns (string)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
deposit
nonpayablefunction deposit(uint256 assets, address receiver) returns (uint256)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address asset_)
mint
nonpayablefunction mint(uint256 shares, address receiver) returns (uint256)
pause
nonpayablefunction pause()
redeem
nonpayablefunction redeem(uint256 shares, address receiver, address owner) returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 assets, address receiver, address owner) returns (uint256)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed sender, address indexed owner, uint256 assets, uint256 shares)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed sender, address indexed receiver, address indexed owner, uint256 assets, uint256 shares)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b6140fc80620001e26000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063c1d89941116100ad578063ce96cb771161007c578063ce96cb77146106db578063d905777e1461070b578063dd62ed3e1461073b578063ef8b30f71461076b578063f2fde38b1461079b5761021c565b8063c1d899411461062f578063c4d66de81461065f578063c63d75b61461067b578063c6e6f592146106ab5761021c565b8063a457c2d7116100f4578063a457c2d71461053f578063a9059cbb1461056f578063b3d7f6b91461059f578063b460af94146105cf578063ba087652146105ff5761021c565b80638da5cb5b146104a3578063944e6c96146104c157806394bf804d146104f157806395d89b41146105215761021c565b806339509351116101a85780635c975abb116101775780635c975abb146104115780636e553f651461042f57806370a082311461045f578063715018a61461048f5780638456cb59146104995761021c565b806339509351146103775780633f4ba83a146103a7578063402d267d146103b15780634cdad506146103e15761021c565b80630a28a477116101ef5780630a28a477146102bd57806318160ddd146102ed57806323b872dd1461030b578063313ce5671461033b57806338d52e0f146103595761021c565b806301e1d1141461022157806306fdde031461023f57806307a2d13a1461025d578063095ea7b31461028d575b600080fd5b6102296107b7565b6040516102369190612af3565b60405180910390f35b61024761085a565b6040516102549190612b9e565b60405180910390f35b61027760048036038101906102729190612bf1565b6108ec565b6040516102849190612af3565b60405180910390f35b6102a760048036038101906102a29190612c7c565b610900565b6040516102b49190612cd7565b60405180910390f35b6102d760048036038101906102d29190612bf1565b61091c565b6040516102e49190612af3565b60405180910390f35b6102f5610930565b6040516103029190612af3565b60405180910390f35b61032560048036038101906103209190612cf2565b61093a565b6040516103329190612cd7565b60405180910390f35b610343610958565b6040516103509190612d61565b60405180910390f35b610361610961565b60405161036e9190612d8b565b60405180910390f35b610391600480360381019061038c9190612c7c565b61098b565b60405161039e9190612cd7565b60405180910390f35b6103af6109a7565b005b6103cb60048036038101906103c69190612da6565b6109b9565b6040516103d89190612af3565b60405180910390f35b6103fb60048036038101906103f69190612bf1565b6109e3565b6040516104089190612af3565b60405180910390f35b6104196109f7565b6040516104269190612cd7565b60405180910390f35b61044960048036038101906104449190612dd3565b610a0e565b6040516104569190612af3565b60405180910390f35b61047960048036038101906104749190612da6565b610a2a565b6040516104869190612af3565b60405180910390f35b610497610a73565b005b6104a1610a87565b005b6104ab610a99565b6040516104b89190612d8b565b60405180910390f35b6104db60048036038101906104d69190612da6565b610ac3565b6040516104e89190612cd7565b60405180910390f35b61050b60048036038101906105069190612dd3565b610ad7565b6040516105189190612af3565b60405180910390f35b610529610af3565b6040516105369190612b9e565b60405180910390f35b61055960048036038101906105549190612c7c565b610b85565b6040516105669190612cd7565b60405180910390f35b61058960048036038101906105849190612c7c565b610ba1565b6040516105969190612cd7565b60405180910390f35b6105b960048036038101906105b49190612bf1565b610bbd565b6040516105c69190612af3565b60405180910390f35b6105e960048036038101906105e49190612e13565b610bd1565b6040516105f69190612af3565b60405180910390f35b61061960048036038101906106149190612e13565b610bef565b6040516106269190612af3565b60405180910390f35b61064960048036038101906106449190612da6565b610c0d565b6040516106569190612af3565b60405180910390f35b61067960048036038101906106749190612da6565b610c27565b005b61069560048036038101906106909190612da6565b610e2c565b6040516106a29190612af3565b60405180910390f35b6106c560048036038101906106c09190612bf1565b610e56565b6040516106d29190612af3565b60405180910390f35b6106f560048036038101906106f09190612da6565b610e6a565b6040516107029190612af3565b60405180910390f35b61072560048036038101906107209190612da6565b610e86565b6040516107329190612af3565b60405180910390f35b61075560048036038101906107509190612e66565b610e98565b6040516107629190612af3565b60405180910390f35b61078560048036038101906107809190612bf1565b610f1f565b6040516107929190612af3565b60405180910390f35b6107b560048036038101906107b09190612da6565b610f33565b005b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108149190612d8b565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190612ebb565b905090565b60606036805461086990612f17565b80601f016020809104026020016040519081016040528092919081815260200182805461089590612f17565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b60006108f9826000610fb6565b9050919050565b600061090a6110bc565b6109148383611106565b905092915050565b6000610929826001611129565b9050919050565b6000603554905090565b60006109446110bc565b61094f84848461122f565b90509392505050565b60006006905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006109956110bc565b61099f838361125e565b905092915050565b6109af611295565b6109b7611313565b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b60006109f0826000610fb6565b9050919050565b6000609760009054906101000a900460ff16905090565b6000610a186110bc565b610a228383611376565b905092915050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a7b611295565b610a8560006113ed565b565b610a8f611295565b610a976114b3565b565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080610acf83610a2a565b119050919050565b6000610ae16110bc565b610aeb8383611516565b905092915050565b606060378054610b0290612f17565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e90612f17565b8015610b7b5780601f10610b5057610100808354040283529160200191610b7b565b820191906000526020600020905b815481529060010190602001808311610b5e57829003601f168201915b5050505050905090565b6000610b8f6110bc565b610b99838361158d565b905092915050565b6000610bab6110bc565b610bb58383611604565b905092915050565b6000610bca826001610fb6565b9050919050565b6000610bdb6110bc565b610be6848484611627565b90509392505050565b6000610bf96110bc565b610c048484846116a0565b90509392505050565b6000610c20610c1b83610a2a565b6108ec565b9050919050565b60008060019054906101000a900460ff16159050808015610c585750600160008054906101000a900460ff1660ff16105b80610c855750610c6730611719565b158015610c845750600160008054906101000a900460ff1660ff16145b5b610cc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbb90612fba565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d01576001600060016101000a81548160ff0219169083151502179055505b610d756040518060400160405280601781526020017f476f6c64656e206261636b656420555320446f6c6c61720000000000000000008152506040518060400160405280600481526020017f555341440000000000000000000000000000000000000000000000000000000081525061173c565b610d7e82611799565b610d866117f4565b610d8e61184d565b8160fb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e285760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e1f919061301f565b60405180910390a15b5050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b6000610e63826000611129565b9050919050565b6000610e7f610e7883610a2a565b6000610fb6565b9050919050565b6000610e9182610a2a565b9050919050565b6000603460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000610f2c826000611129565b9050919050565b610f3b611295565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa1906130ac565b60405180910390fd5b610fb3816113ed565b50565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611026573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104a9190612ebb565b90506000810361108f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108690613118565b60405180910390fd5b6110b36c0c9f2c9cd04674edea400000008285876118a6909392919063ffffffff16565b91505092915050565b6110c46109f7565b15611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90613184565b60405180910390fd5b565b60008061111161191c565b905061111e818585611924565b600191505092915050565b60008060fb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b94f50e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bd9190612ebb565b905060008103611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990613118565b60405180910390fd5b611226816c0c9f2c9cd04674edea4000000085876118a6909392919063ffffffff16565b91505092915050565b60008061123a61191c565b9050611247858285611aed565b611252858585611b79565b60019150509392505050565b60008061126961191c565b905061128a81858561127b8589610e98565b61128591906131d3565b611924565b600191505092915050565b61129d61191c565b73ffffffffffffffffffffffffffffffffffffffff166112bb610a99565b73ffffffffffffffffffffffffffffffffffffffff1614611311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130890613253565b60405180910390fd5b565b61131b611df2565b6000609760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61135f61191c565b60405161136c9190612d8b565b60405180910390a1565b6000611381826109b9565b8311156113c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ba906132bf565b60405180910390fd5b60006113ce84610f1f565b90506113e36113db61191c565b848684611e3b565b8091505092915050565b600060c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6114bb6110bc565b6001609760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114ff61191c565b60405161150c9190612d8b565b60405180910390a1565b600061152182610e2c565b831115611563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155a9061332b565b60405180910390fd5b600061156e84610bbd565b905061158361157b61191c565b848387611e3b565b8091505092915050565b60008061159861191c565b905060006115a68286610e98565b9050838110156115eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e2906133bd565b60405180910390fd5b6115f88286868403611924565b60019250505092915050565b60008061160f61191c565b905061161c818585611b79565b600191505092915050565b600061163282610e6a565b841115611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90613429565b60405180910390fd5b600061167f8561091c565b905061169561168c61191c565b85858885611ee0565b809150509392505050565b60006116ab82610e86565b8411156116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490613495565b60405180910390fd5b60006116f8856109e3565b905061170e61170561191c565b85858489611ee0565b809150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff1661178b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178290613527565b60405180910390fd5b6117958282611fdb565b5050565b600060019054906101000a900460ff166117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df90613527565b60405180910390fd5b6117f18161204e565b50565b600060019054906101000a900460ff16611843576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183a90613527565b60405180910390fd5b61184b61211b565b565b600060019054906101000a900460ff1661189c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189390613527565b60405180910390fd5b6118a4612187565b565b6000806118b48686866121e8565b9050600160028111156118ca576118c9613547565b5b8360028111156118dd576118dc613547565b5b1480156118fb5750600084806118f6576118f5613576565b5b868809115b156119105760018161190d91906131d3565b90505b80915050949350505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90613617565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9906136a9565b60405180910390fd5b80603460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ae09190612af3565b60405180910390a3505050565b6000611af98484610e98565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b735781811015611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90613715565b60405180910390fd5b611b728484848403611924565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdf906137a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e90613839565b60405180910390fd5b611c628383836122f9565b6000603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce0906138cb565b60405180910390fd5b818103603360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dd99190612af3565b60405180910390a3611dec8484846122fe565b50505050565b611dfa6109f7565b611e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3090613937565b60405180910390fd5b565b611e69606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16853085612303565b611e73838261238c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78484604051611ed2929190613957565b60405180910390a350505050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611f1f57611f1e838683611aed565b5b611f2983826124e3565b611f56606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685846126b2565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051611fcc929190613957565b60405180910390a45050505050565b600060019054906101000a900460ff1661202a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202190613527565b60405180910390fd5b81603690816120399190613b51565b5080603790816120499190613b51565b505050565b600060019054906101000a900460ff1661209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209490613527565b60405180910390fd5b6000806120a983612738565b91509150816120b95760126120bb565b805b606560146101000a81548160ff021916908360ff16021790555082606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600060019054906101000a900460ff1661216a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216190613527565b60405180910390fd5b6000609760006101000a81548160ff021916908315150217905550565b600060019054906101000a900460ff166121d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cd90613527565b60405180910390fd5b6121e66121e161191c565b6113ed565b565b60008060008019858709858702925082811083820303915050600081036122235783828161221957612218613576565b5b04925050506122f2565b808411612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c90613c6f565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b505050565b505050565b612386846323b872dd60e01b85858560405160240161232493929190613c8f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612868565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036123fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f290613d12565b60405180910390fd5b612407600083836122f9565b806035600082825461241991906131d3565b9250508190555080603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124cb9190612af3565b60405180910390a36124df600083836122fe565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612552576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254990613da4565b60405180910390fd5b61255e826000836122f9565b6000603360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156125e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dc90613e36565b60405180910390fd5b818103603360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081603560008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126999190612af3565b60405180910390a36126ad836000846122fe565b505050565b6127338363a9059cbb60e01b84846040516024016126d1929190613e56565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612868565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1663313ce56760e01b604051602401604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516127cd9190613ec6565b600060405180830381855afa9150503d8060008114612808576040519150601f19603f3d011682016040523d82523d6000602084013e61280d565b606091505b509150915081801561282157506020815110155b156128595760008180602001905181019061283c9190612ebb565b905060ff801681116128575760018194509450505050612863565b505b6000809350935050505b915091565b60006128ca826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129309092919063ffffffff16565b90506000815114806128ec5750808060200190518101906128eb9190613f09565b5b61292b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292290613fa8565b60405180910390fd5b505050565b606061293f8484600085612948565b90509392505050565b60608247101561298d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129849061403a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516129b69190613ec6565b60006040518083038185875af1925050503d80600081146129f3576040519150601f19603f3d011682016040523d82523d6000602084013e6129f8565b606091505b5091509150612a0987838387612a15565b92505050949350505050565b60608315612a77576000835103612a6f57612a2f85611719565b612a6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a65906140a6565b60405180910390fd5b5b829050612a82565b612a818383612a8a565b5b949350505050565b600082511115612a9d5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad19190612b9e565b60405180910390fd5b6000819050919050565b612aed81612ada565b82525050565b6000602082019050612b086000830184612ae4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b48578082015181840152602081019050612b2d565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b7082612b0e565b612b7a8185612b19565b9350612b8a818560208601612b2a565b612b9381612b54565b840191505092915050565b60006020820190508181036000830152612bb88184612b65565b905092915050565b600080fd5b612bce81612ada565b8114612bd957600080fd5b50565b600081359050612beb81612bc5565b92915050565b600060208284031215612c0757612c06612bc0565b5b6000612c1584828501612bdc565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c4982612c1e565b9050919050565b612c5981612c3e565b8114612c6457600080fd5b50565b600081359050612c7681612c50565b92915050565b60008060408385031215612c9357612c92612bc0565b5b6000612ca185828601612c67565b9250506020612cb285828601612bdc565b9150509250929050565b60008115159050919050565b612cd181612cbc565b82525050565b6000602082019050612cec6000830184612cc8565b92915050565b600080600060608486031215612d0b57612d0a612bc0565b5b6000612d1986828701612c67565b9350506020612d2a86828701612c67565b9250506040612d3b86828701612bdc565b9150509250925092565b600060ff82169050919050565b612d5b81612d45565b82525050565b6000602082019050612d766000830184612d52565b92915050565b612d8581612c3e565b82525050565b6000602082019050612da06000830184612d7c565b92915050565b600060208284031215612dbc57612dbb612bc0565b5b6000612dca84828501612c67565b91505092915050565b60008060408385031215612dea57612de9612bc0565b5b6000612df885828601612bdc565b9250506020612e0985828601612c67565b9150509250929050565b600080600060608486031215612e2c57612e2b612bc0565b5b6000612e3a86828701612bdc565b9350506020612e4b86828701612c67565b9250506040612e5c86828701612c67565b9150509250925092565b60008060408385031215612e7d57612e7c612bc0565b5b6000612e8b85828601612c67565b9250506020612e9c85828601612c67565b9150509250929050565b600081519050612eb581612bc5565b92915050565b600060208284031215612ed157612ed0612bc0565b5b6000612edf84828501612ea6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612f2f57607f821691505b602082108103612f4257612f41612ee8565b5b50919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612fa4602e83612b19565b9150612faf82612f48565b604082019050919050565b60006020820190508181036000830152612fd381612f97565b9050919050565b6000819050919050565b6000819050919050565b6000613009613004612fff84612fda565b612fe4565b612d45565b9050919050565b61301981612fee565b82525050565b60006020820190506130346000830184613010565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613096602683612b19565b91506130a18261303a565b604082019050919050565b600060208201905081810360008301526130c581613089565b9050919050565b7f496e76616c696420617373657420707269636500000000000000000000000000600082015250565b6000613102601383612b19565b915061310d826130cc565b602082019050919050565b60006020820190508181036000830152613131816130f5565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061316e601083612b19565b915061317982613138565b602082019050919050565b6000602082019050818103600083015261319d81613161565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131de82612ada565b91506131e983612ada565b9250828201905080821115613201576132006131a4565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061323d602083612b19565b915061324882613207565b602082019050919050565b6000602082019050818103600083015261326c81613230565b9050919050565b7f455243343632363a206465706f736974206d6f7265207468616e206d61780000600082015250565b60006132a9601e83612b19565b91506132b482613273565b602082019050919050565b600060208201905081810360008301526132d88161329c565b9050919050565b7f455243343632363a206d696e74206d6f7265207468616e206d61780000000000600082015250565b6000613315601b83612b19565b9150613320826132df565b602082019050919050565b6000602082019050818103600083015261334481613308565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006133a7602583612b19565b91506133b28261334b565b604082019050919050565b600060208201905081810360008301526133d68161339a565b9050919050565b7f455243343632363a207769746864726177206d6f7265207468616e206d617800600082015250565b6000613413601f83612b19565b915061341e826133dd565b602082019050919050565b6000602082019050818103600083015261344281613406565b9050919050565b7f455243343632363a2072656465656d206d6f7265207468616e206d6178000000600082015250565b600061347f601d83612b19565b915061348a82613449565b602082019050919050565b600060208201905081810360008301526134ae81613472565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613511602b83612b19565b915061351c826134b5565b604082019050919050565b6000602082019050818103600083015261354081613504565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613601602483612b19565b915061360c826135a5565b604082019050919050565b60006020820190508181036000830152613630816135f4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613693602283612b19565b915061369e82613637565b604082019050919050565b600060208201905081810360008301526136c281613686565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006136ff601d83612b19565b915061370a826136c9565b602082019050919050565b6000602082019050818103600083015261372e816136f2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613791602583612b19565b915061379c82613735565b604082019050919050565b600060208201905081810360008301526137c081613784565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613823602383612b19565b915061382e826137c7565b604082019050919050565b6000602082019050818103600083015261385281613816565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006138b5602683612b19565b91506138c082613859565b604082019050919050565b600060208201905081810360008301526138e4816138a8565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000613921601483612b19565b915061392c826138eb565b602082019050919050565b6000602082019050818103600083015261395081613914565b9050919050565b600060408201905061396c6000830185612ae4565b6139796020830184612ae4565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613a117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826139d4565b613a1b86836139d4565b95508019841693508086168417925050509392505050565b6000613a4e613a49613a4484612ada565b612fe4565b612ada565b9050919050565b6000819050919050565b613a6883613a33565b613a7c613a7482613a55565b8484546139e1565b825550505050565b600090565b613a91613a84565b613a9c818484613a5f565b505050565b5b81811015613ac057613ab5600082613a89565b600181019050613aa2565b5050565b601f821115613b0557613ad6816139af565b613adf846139c4565b81016020851015613aee578190505b613b02613afa856139c4565b830182613aa1565b50505b505050565b600082821c905092915050565b6000613b2860001984600802613b0a565b1980831691505092915050565b6000613b418383613b17565b9150826002028217905092915050565b613b5a82612b0e565b67ffffffffffffffff811115613b7357613b72613980565b5b613b7d8254612f17565b613b88828285613ac4565b600060209050601f831160018114613bbb5760008415613ba9578287015190505b613bb38582613b35565b865550613c1b565b601f198416613bc9866139af565b60005b82811015613bf157848901518255600182019150602085019450602081019050613bcc565b86831015613c0e5784890151613c0a601f891682613b17565b8355505b6001600288020188555050505b505050505050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b6000613c59601583612b19565b9150613c6482613c23565b602082019050919050565b60006020820190508181036000830152613c8881613c4c565b9050919050565b6000606082019050613ca46000830186612d7c565b613cb16020830185612d7c565b613cbe6040830184612ae4565b949350505050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613cfc601f83612b19565b9150613d0782613cc6565b602082019050919050565b60006020820190508181036000830152613d2b81613cef565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d8e602183612b19565b9150613d9982613d32565b604082019050919050565b60006020820190508181036000830152613dbd81613d81565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e20602283612b19565b9150613e2b82613dc4565b604082019050919050565b60006020820190508181036000830152613e4f81613e13565b9050919050565b6000604082019050613e6b6000830185612d7c565b613e786020830184612ae4565b9392505050565b600081519050919050565b600081905092915050565b6000613ea082613e7f565b613eaa8185613e8a565b9350613eba818560208601612b2a565b80840191505092915050565b6000613ed28284613e95565b915081905092915050565b613ee681612cbc565b8114613ef157600080fd5b50565b600081519050613f0381613edd565b92915050565b600060208284031215613f1f57613f1e612bc0565b5b6000613f2d84828501613ef4565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613f92602a83612b19565b9150613f9d82613f36565b604082019050919050565b60006020820190508181036000830152613fc181613f85565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000614024602683612b19565b915061402f82613fc8565b604082019050919050565b6000602082019050818103600083015261405381614017565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614090601d83612b19565b915061409b8261405a565b602082019050919050565b600060208201905081810360008301526140bf81614083565b905091905056fea2646970667358221220dc52d22f32c327e4b8c54f85fdaf7cd8e2ff36d8bf015e2997cd507ad5ba175864736f6c63430008140033