{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122054072cc445dd99bb41cc409d8a3423c44a969275c3be9fa1104225badf975e7064736f6c63430008180033","sourceMap":"65:1294:5:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122054072cc445dd99bb41cc409d8a3423c44a969275c3be9fa1104225badf975e7064736f6c63430008180033","sourceMap":"65:1294:5:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/StdMath.sol":"stdMath"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":4528,"exportedSymbols":{"stdMath":[4527]},"nodeType":"SourceUnit","src":"32:1328:5","nodes":[{"id":4387,"nodeType":"PragmaDirective","src":"32:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":4527,"nodeType":"ContractDefinition","src":"65:1294:5","nodes":[{"id":4391,"nodeType":"VariableDeclaration","src":"87:115:5","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:5","scope":4527,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4388,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":4390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:5","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":4389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:5","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":4417,"nodeType":"FunctionDefinition","src":"209:306:5","nodes":[],"body":{"id":4416,"nodeType":"Block","src":"264:251:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4398,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4393,"src":"342:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4399,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4391,"src":"347:10:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4404,"nodeType":"IfStatement","src":"338:130:5","trueBody":{"id":4403,"nodeType":"Block","src":"359:109:5","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":4401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:5","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":4397,"id":4402,"nodeType":"Return","src":"373:84:5"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4407,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4393,"src":"493:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":4412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:5","subExpression":{"id":4411,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4393,"src":"506:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":4413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:5","trueExpression":{"id":4410,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4393,"src":"501:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4405,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:5","typeDescriptions":{}}},"id":4414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4397,"id":4415,"nodeType":"Return","src":"478:30:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:5","parameters":{"id":4394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4393,"mutability":"mutable","name":"a","nameLocation":"229:1:5","nodeType":"VariableDeclaration","scope":4417,"src":"222:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4392,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:5"},"returnParameters":{"id":4397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4396,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4417,"src":"255:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4395,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:5"},"scope":4527,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4438,"nodeType":"FunctionDefinition","src":"521:114:5","nodes":[],"body":{"id":4437,"nodeType":"Block","src":"590:45:5","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4426,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4419,"src":"607:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4427,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4421,"src":"611:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4432,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4421,"src":"623:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4433,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4419,"src":"627:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:5","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4429,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4419,"src":"615:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4430,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4421,"src":"619:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4425,"id":4436,"nodeType":"Return","src":"600:28:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:5","parameters":{"id":4422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4419,"mutability":"mutable","name":"a","nameLocation":"544:1:5","nodeType":"VariableDeclaration","scope":4438,"src":"536:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4418,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4421,"mutability":"mutable","name":"b","nameLocation":"555:1:5","nodeType":"VariableDeclaration","scope":4438,"src":"547:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4420,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:5"},"returnParameters":{"id":4425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4438,"src":"581:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4423,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:5"},"scope":4527,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4474,"nodeType":"FunctionDefinition","src":"641:352:5","nodes":[],"body":{"id":4473,"nodeType":"Block","src":"708:285:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":4449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4447,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4440,"src":"847:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":4448,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"851:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":4450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:5","subExpression":{"hexValue":"31","id":4451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4464,"nodeType":"IfStatement","src":"842:71:5","trueBody":{"id":4463,"nodeType":"Block","src":"860:53:5","statements":[{"expression":{"arguments":[{"arguments":[{"id":4456,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4440,"src":"891:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4455,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4417,"src":"887:3:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":4457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4459,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"899:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4458,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4417,"src":"895:3:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":4460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4454,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[4438,4474],"referencedDeclaration":4438,"src":"881:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":4461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4446,"id":4462,"nodeType":"Return","src":"874:28:5"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4466,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4440,"src":"975:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4465,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4417,"src":"971:3:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":4467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":4469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"984:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4468,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4417,"src":"980:3:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":4470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4446,"id":4472,"nodeType":"Return","src":"964:22:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:5","parameters":{"id":4443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4440,"mutability":"mutable","name":"a","nameLocation":"663:1:5","nodeType":"VariableDeclaration","scope":4474,"src":"656:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4439,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":4442,"mutability":"mutable","name":"b","nameLocation":"673:1:5","nodeType":"VariableDeclaration","scope":4474,"src":"666:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4441,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:5"},"returnParameters":{"id":4446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4474,"src":"699:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4444,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:5"},"scope":4527,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4497,"nodeType":"FunctionDefinition","src":"999:160:5","nodes":[],"body":{"id":4496,"nodeType":"Block","src":"1075:84:5","nodes":[],"statements":[{"assignments":[4484],"declarations":[{"constant":false,"id":4484,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:5","nodeType":"VariableDeclaration","scope":4496,"src":"1085:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4483,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4489,"initialValue":{"arguments":[{"id":4486,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4476,"src":"1110:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4487,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4478,"src":"1113:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4485,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[4438,4474],"referencedDeclaration":4438,"src":"1104:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":4488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1104:11:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:5"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4490,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4484,"src":"1133:8:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":4491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":4493,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4478,"src":"1151:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4482,"id":4495,"nodeType":"Return","src":"1126:26:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:5","parameters":{"id":4479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4476,"mutability":"mutable","name":"a","nameLocation":"1029:1:5","nodeType":"VariableDeclaration","scope":4497,"src":"1021:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4475,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4478,"mutability":"mutable","name":"b","nameLocation":"1040:1:5","nodeType":"VariableDeclaration","scope":4497,"src":"1032:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:5"},"returnParameters":{"id":4482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4497,"src":"1066:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4480,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:5"},"scope":4527,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4526,"nodeType":"FunctionDefinition","src":"1165:192:5","nodes":[],"body":{"id":4525,"nodeType":"Block","src":"1239:118:5","nodes":[],"statements":[{"assignments":[4507],"declarations":[{"constant":false,"id":4507,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:5","nodeType":"VariableDeclaration","scope":4525,"src":"1249:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4506,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4512,"initialValue":{"arguments":[{"id":4509,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4499,"src":"1274:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":4510,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"1277:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4508,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[4438,4474],"referencedDeclaration":4474,"src":"1268:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":4511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:11:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:5"},{"assignments":[4514],"declarations":[{"constant":false,"id":4514,"mutability":"mutable","name":"absB","nameLocation":"1297:4:5","nodeType":"VariableDeclaration","scope":4525,"src":"1289:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4513,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4518,"initialValue":{"arguments":[{"id":4516,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"1308:1:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":4515,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4417,"src":"1304:3:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":4517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1304:6:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:5"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4519,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4507,"src":"1328:8:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":4520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":4522,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"1346:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4505,"id":4524,"nodeType":"Return","src":"1321:29:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:5","parameters":{"id":4502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4499,"mutability":"mutable","name":"a","nameLocation":"1194:1:5","nodeType":"VariableDeclaration","scope":4526,"src":"1187:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4498,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":4501,"mutability":"mutable","name":"b","nameLocation":"1204:1:5","nodeType":"VariableDeclaration","scope":4526,"src":"1197:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":4500,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:5","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:5"},"returnParameters":{"id":4505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4526,"src":"1230:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4503,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:5"},"scope":4527,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[4527],"name":"stdMath","nameLocation":"73:7:5","scope":4528,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":5}