{"id":"9a7b28f15c4d2c759e7b3022f542376e","_format":"hh-sol-build-info-1","solcVersion":"0.7.6","solcLongVersion":"0.7.6+commit.7338295f","input":{"language":"Solidity","sources":{"contracts/elixir-periphery/test/MockObservable.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\r\npragma solidity =0.7.6;\r\n\r\ncontract MockObservable {\r\n    Observation private observation0;\r\n    Observation private observation1;\r\n\r\n    struct Observation {\r\n        uint32 secondsAgo;\r\n        int56 tickCumulatives;\r\n        uint160 secondsPerLiquidityCumulativeX128s;\r\n        uint192 rewardPerLiquidityCumulativeX64s;\r\n    }\r\n\r\n    constructor(\r\n        uint32[] memory secondsAgos,\r\n        int56[] memory tickCumulatives,\r\n        uint160[] memory secondsPerLiquidityCumulativeX128s,\r\n        uint192[] memory rewardPerLiquidityCumulativeX64s\r\n    ) {\r\n        require(\r\n            secondsAgos.length == 2 &&\r\n                tickCumulatives.length == 2 &&\r\n                secondsPerLiquidityCumulativeX128s.length == 2,\r\n            \"Invalid test case size\"\r\n        );\r\n\r\n        observation0 = Observation(\r\n            secondsAgos[0],\r\n            tickCumulatives[0],\r\n            secondsPerLiquidityCumulativeX128s[0],\r\n            rewardPerLiquidityCumulativeX64s[0]\r\n        );\r\n        observation1 = Observation(\r\n            secondsAgos[1],\r\n            tickCumulatives[1],\r\n            secondsPerLiquidityCumulativeX128s[1],\r\n            rewardPerLiquidityCumulativeX64s[0]\r\n        );\r\n    }\r\n\r\n    function observe(\r\n        uint32[] calldata secondsAgos\r\n    )\r\n        external\r\n        view\r\n        returns (\r\n            int56[] memory tickCumulatives,\r\n            uint160[] memory secondsPerLiquidityCumulativeX128s,\r\n            uint192[] memory rewardPerLiquidityCumulativeX64s\r\n        )\r\n    {\r\n        require(\r\n            secondsAgos[0] == observation0.secondsAgo &&\r\n                secondsAgos[1] == observation1.secondsAgo,\r\n            \"Invalid test case\"\r\n        );\r\n\r\n        int56[] memory _tickCumulatives = new int56[](2);\r\n        _tickCumulatives[0] = observation0.tickCumulatives;\r\n        _tickCumulatives[1] = observation1.tickCumulatives;\r\n\r\n        uint160[] memory _secondsPerLiquidityCumulativeX128s = new uint160[](2);\r\n        _secondsPerLiquidityCumulativeX128s[0] = observation0\r\n            .secondsPerLiquidityCumulativeX128s;\r\n        _secondsPerLiquidityCumulativeX128s[1] = observation1\r\n            .secondsPerLiquidityCumulativeX128s;\r\n\r\n        uint192[] memory _rewardPerLiquidityCumulativeX64s = new uint192[](2);\r\n        _rewardPerLiquidityCumulativeX64s[0] = observation0\r\n            .rewardPerLiquidityCumulativeX64s;\r\n        _rewardPerLiquidityCumulativeX64s[1] = observation1\r\n            .rewardPerLiquidityCumulativeX64s;\r\n\r\n        return (\r\n            _tickCumulatives,\r\n            _secondsPerLiquidityCumulativeX128s,\r\n            _rewardPerLiquidityCumulativeX64s\r\n        );\r\n    }\r\n}\r\n"}},"settings":{"optimizer":{"enabled":true,"runs":800},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/elixir-periphery/test/MockObservable.sol":{"ast":{"absolutePath":"contracts/elixir-periphery/test/MockObservable.sol","exportedSymbols":{"MockObservable":[196]},"id":197,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","=","0.7",".6"],"nodeType":"PragmaDirective","src":"40:23:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":196,"linearizedBaseContracts":[196],"name":"MockObservable","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3,"mutability":"mutable","name":"observation0","nodeType":"VariableDeclaration","scope":196,"src":"98:32:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation"},"typeName":{"id":2,"name":"Observation","nodeType":"UserDefinedTypeName","referencedDeclaration":14,"src":"98:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage_ptr","typeString":"struct MockObservable.Observation"}},"visibility":"private"},{"constant":false,"id":5,"mutability":"mutable","name":"observation1","nodeType":"VariableDeclaration","scope":196,"src":"137:32:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation"},"typeName":{"id":4,"name":"Observation","nodeType":"UserDefinedTypeName","referencedDeclaration":14,"src":"137:11:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage_ptr","typeString":"struct MockObservable.Observation"}},"visibility":"private"},{"canonicalName":"MockObservable.Observation","id":14,"members":[{"constant":false,"id":7,"mutability":"mutable","name":"secondsAgo","nodeType":"VariableDeclaration","scope":14,"src":"208:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":6,"name":"uint32","nodeType":"ElementaryTypeName","src":"208:6:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":9,"mutability":"mutable","name":"tickCumulatives","nodeType":"VariableDeclaration","scope":14,"src":"236:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":8,"name":"int56","nodeType":"ElementaryTypeName","src":"236:5:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"},{"constant":false,"id":11,"mutability":"mutable","name":"secondsPerLiquidityCumulativeX128s","nodeType":"VariableDeclaration","scope":14,"src":"268:42:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":10,"name":"uint160","nodeType":"ElementaryTypeName","src":"268:7:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":13,"mutability":"mutable","name":"rewardPerLiquidityCumulativeX64s","nodeType":"VariableDeclaration","scope":14,"src":"321:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":12,"name":"uint192","nodeType":"ElementaryTypeName","src":"321:7:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"name":"Observation","nodeType":"StructDefinition","scope":196,"src":"178:191:0","visibility":"public"},{"body":{"id":81,"nodeType":"Block","src":"597:655:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":43,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":33,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30,"name":"secondsAgos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"630:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_memory_ptr","typeString":"uint32[] memory"}},"id":31,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"630:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":32,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"652:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"630:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":37,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":34,"name":"tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"674:15:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"id":35,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"674:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"700:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"674:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"630:71:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":42,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":39,"name":"secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"722:34:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"id":40,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"722:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"32","id":41,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"767:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"722:46:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"630:138:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c6964207465737420636173652073697a65","id":44,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"783:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6380b120c432ddf674784021d27d0971178cd3d3643ae88791f8da7996aad60b","typeString":"literal_string \"Invalid test case size\""},"value":"Invalid test case size"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6380b120c432ddf674784021d27d0971178cd3d3643ae88791f8da7996aad60b","typeString":"literal_string \"Invalid test case size\""}],"id":29,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"608:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":45,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"608:210:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46,"nodeType":"ExpressionStatement","src":"608:210:0"},{"expression":{"id":62,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47,"name":"observation0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"831:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":49,"name":"secondsAgos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"872:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_memory_ptr","typeString":"uint32[] memory"}},"id":51,"indexExpression":{"hexValue":"30","id":50,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"884:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"872:14:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"baseExpression":{"id":52,"name":"tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"901:15:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"id":54,"indexExpression":{"hexValue":"30","id":53,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"917:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"901:18:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},{"baseExpression":{"id":55,"name":"secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"934:34:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"id":57,"indexExpression":{"hexValue":"30","id":56,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"969:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"934:37:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"baseExpression":{"id":58,"name":"rewardPerLiquidityCumulativeX64s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"986:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}},"id":60,"indexExpression":{"hexValue":"30","id":59,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1019:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"986:35:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_int56","typeString":"int56"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint192","typeString":"uint192"}],"id":48,"name":"Observation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"846:11:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Observation_$14_storage_ptr_$","typeString":"type(struct MockObservable.Observation storage pointer)"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"846:186:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_memory_ptr","typeString":"struct MockObservable.Observation memory"}},"src":"831:201:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":63,"nodeType":"ExpressionStatement","src":"831:201:0"},{"expression":{"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":64,"name":"observation1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"1043:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":66,"name":"secondsAgos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17,"src":"1084:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_memory_ptr","typeString":"uint32[] memory"}},"id":68,"indexExpression":{"hexValue":"31","id":67,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1096:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1084:14:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"baseExpression":{"id":69,"name":"tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20,"src":"1113:15:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"id":71,"indexExpression":{"hexValue":"31","id":70,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1129:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1113:18:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},{"baseExpression":{"id":72,"name":"secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23,"src":"1146:34:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"id":74,"indexExpression":{"hexValue":"31","id":73,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1181:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1146:37:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"baseExpression":{"id":75,"name":"rewardPerLiquidityCumulativeX64s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"1198:32:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}},"id":77,"indexExpression":{"hexValue":"30","id":76,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1198:35:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_int56","typeString":"int56"},{"typeIdentifier":"t_uint160","typeString":"uint160"},{"typeIdentifier":"t_uint192","typeString":"uint192"}],"id":65,"name":"Observation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"1058:11:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Observation_$14_storage_ptr_$","typeString":"type(struct MockObservable.Observation storage pointer)"}},"id":78,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1058:186:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_memory_ptr","typeString":"struct MockObservable.Observation memory"}},"src":"1043:201:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":80,"nodeType":"ExpressionStatement","src":"1043:201:0"}]},"id":82,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":27,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17,"mutability":"mutable","name":"secondsAgos","nodeType":"VariableDeclaration","scope":82,"src":"399:27:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_memory_ptr","typeString":"uint32[]"},"typeName":{"baseType":{"id":15,"name":"uint32","nodeType":"ElementaryTypeName","src":"399:6:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":16,"nodeType":"ArrayTypeName","src":"399:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_storage_ptr","typeString":"uint32[]"}},"visibility":"internal"},{"constant":false,"id":20,"mutability":"mutable","name":"tickCumulatives","nodeType":"VariableDeclaration","scope":82,"src":"437:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[]"},"typeName":{"baseType":{"id":18,"name":"int56","nodeType":"ElementaryTypeName","src":"437:5:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":19,"nodeType":"ArrayTypeName","src":"437:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_storage_ptr","typeString":"int56[]"}},"visibility":"internal"},{"constant":false,"id":23,"mutability":"mutable","name":"secondsPerLiquidityCumulativeX128s","nodeType":"VariableDeclaration","scope":82,"src":"478:51:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[]"},"typeName":{"baseType":{"id":21,"name":"uint160","nodeType":"ElementaryTypeName","src":"478:7:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":22,"nodeType":"ArrayTypeName","src":"478:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_storage_ptr","typeString":"uint160[]"}},"visibility":"internal"},{"constant":false,"id":26,"mutability":"mutable","name":"rewardPerLiquidityCumulativeX64s","nodeType":"VariableDeclaration","scope":82,"src":"540:49:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[]"},"typeName":{"baseType":{"id":24,"name":"uint192","nodeType":"ElementaryTypeName","src":"540:7:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":25,"nodeType":"ArrayTypeName","src":"540:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_storage_ptr","typeString":"uint192[]"}},"visibility":"internal"}],"src":"388:208:0"},"returnParameters":{"id":28,"nodeType":"ParameterList","parameters":[],"src":"597:0:0"},"scope":196,"src":"377:875:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":194,"nodeType":"Block","src":"1565:1142:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":98,"name":"secondsAgos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1598:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_calldata_ptr","typeString":"uint32[] calldata"}},"id":100,"indexExpression":{"hexValue":"30","id":99,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1610:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1598:14:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":101,"name":"observation0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"1616:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"secondsAgo","nodeType":"MemberAccess","referencedDeclaration":7,"src":"1616:23:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1598:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":104,"name":"secondsAgos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1660:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_calldata_ptr","typeString":"uint32[] calldata"}},"id":106,"indexExpression":{"hexValue":"31","id":105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1672:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1660:14:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":107,"name":"observation1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"1678:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"secondsAgo","nodeType":"MemberAccess","referencedDeclaration":7,"src":"1678:23:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1660:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:103:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c696420746573742063617365","id":111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1716:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_50f7e4809f16e1a96b82b5d85c94bf5834461108f0f076475f13e2b1423a8e09","typeString":"literal_string \"Invalid test case\""},"value":"Invalid test case"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_50f7e4809f16e1a96b82b5d85c94bf5834461108f0f076475f13e2b1423a8e09","typeString":"literal_string \"Invalid test case\""}],"id":97,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1576:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1576:170:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":113,"nodeType":"ExpressionStatement","src":"1576:170:0"},{"assignments":[118],"declarations":[{"constant":false,"id":118,"mutability":"mutable","name":"_tickCumulatives","nodeType":"VariableDeclaration","scope":194,"src":"1759:31:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[]"},"typeName":{"baseType":{"id":116,"name":"int56","nodeType":"ElementaryTypeName","src":"1759:5:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":117,"nodeType":"ArrayTypeName","src":"1759:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_storage_ptr","typeString":"int56[]"}},"visibility":"internal"}],"id":124,"initialValue":{"arguments":[{"hexValue":"32","id":122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1805:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1793:11:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_int56_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (int56[] memory)"},"typeName":{"baseType":{"id":119,"name":"int56","nodeType":"ElementaryTypeName","src":"1797:5:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":120,"nodeType":"ArrayTypeName","src":"1797:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_storage_ptr","typeString":"int56[]"}}},"id":123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1793:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1759:48:0"},{"expression":{"id":130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":125,"name":"_tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"1818:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"id":127,"indexExpression":{"hexValue":"30","id":126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1835:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1818:19:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":128,"name":"observation0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"1840:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tickCumulatives","nodeType":"MemberAccess","referencedDeclaration":9,"src":"1840:28:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"1818:50:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":131,"nodeType":"ExpressionStatement","src":"1818:50:0"},{"expression":{"id":137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":132,"name":"_tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"1879:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},"id":134,"indexExpression":{"hexValue":"31","id":133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1879:19:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":135,"name":"observation1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"1901:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tickCumulatives","nodeType":"MemberAccess","referencedDeclaration":9,"src":"1901:28:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"1879:50:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":138,"nodeType":"ExpressionStatement","src":"1879:50:0"},{"assignments":[143],"declarations":[{"constant":false,"id":143,"mutability":"mutable","name":"_secondsPerLiquidityCumulativeX128s","nodeType":"VariableDeclaration","scope":194,"src":"1942:52:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[]"},"typeName":{"baseType":{"id":141,"name":"uint160","nodeType":"ElementaryTypeName","src":"1942:7:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":142,"nodeType":"ArrayTypeName","src":"1942:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_storage_ptr","typeString":"uint160[]"}},"visibility":"internal"}],"id":149,"initialValue":{"arguments":[{"hexValue":"32","id":147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2011:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1997:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint160_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint160[] memory)"},"typeName":{"baseType":{"id":144,"name":"uint160","nodeType":"ElementaryTypeName","src":"2001:7:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":145,"nodeType":"ArrayTypeName","src":"2001:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_storage_ptr","typeString":"uint160[]"}}},"id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1997:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1942:71:0"},{"expression":{"id":155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":150,"name":"_secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"2024:35:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"id":152,"indexExpression":{"hexValue":"30","id":151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2060:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2024:38:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":153,"name":"observation0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"2065:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"secondsPerLiquidityCumulativeX128s","nodeType":"MemberAccess","referencedDeclaration":11,"src":"2065:61:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2024:102:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":156,"nodeType":"ExpressionStatement","src":"2024:102:0"},{"expression":{"id":162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":157,"name":"_secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"2137:35:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},"id":159,"indexExpression":{"hexValue":"31","id":158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2173:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2137:38:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":160,"name":"observation1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2178:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"secondsPerLiquidityCumulativeX128s","nodeType":"MemberAccess","referencedDeclaration":11,"src":"2178:61:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"2137:102:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":163,"nodeType":"ExpressionStatement","src":"2137:102:0"},{"assignments":[168],"declarations":[{"constant":false,"id":168,"mutability":"mutable","name":"_rewardPerLiquidityCumulativeX64s","nodeType":"VariableDeclaration","scope":194,"src":"2252:50:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[]"},"typeName":{"baseType":{"id":166,"name":"uint192","nodeType":"ElementaryTypeName","src":"2252:7:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":167,"nodeType":"ArrayTypeName","src":"2252:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_storage_ptr","typeString":"uint192[]"}},"visibility":"internal"}],"id":174,"initialValue":{"arguments":[{"hexValue":"32","id":172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2319:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2305:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint192_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint192[] memory)"},"typeName":{"baseType":{"id":169,"name":"uint192","nodeType":"ElementaryTypeName","src":"2309:7:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":170,"nodeType":"ArrayTypeName","src":"2309:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_storage_ptr","typeString":"uint192[]"}}},"id":173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2305:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2252:69:0"},{"expression":{"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":175,"name":"_rewardPerLiquidityCumulativeX64s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":168,"src":"2332:33:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}},"id":177,"indexExpression":{"hexValue":"30","id":176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2366:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2332:36:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":178,"name":"observation0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3,"src":"2371:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPerLiquidityCumulativeX64s","nodeType":"MemberAccess","referencedDeclaration":13,"src":"2371:59:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"2332:98:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":181,"nodeType":"ExpressionStatement","src":"2332:98:0"},{"expression":{"id":187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":182,"name":"_rewardPerLiquidityCumulativeX64s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":168,"src":"2441:33:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}},"id":184,"indexExpression":{"hexValue":"31","id":183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2441:36:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":185,"name":"observation1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2480:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Observation_$14_storage","typeString":"struct MockObservable.Observation storage ref"}},"id":186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPerLiquidityCumulativeX64s","nodeType":"MemberAccess","referencedDeclaration":13,"src":"2480:59:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"2441:98:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":188,"nodeType":"ExpressionStatement","src":"2441:98:0"},{"expression":{"components":[{"id":189,"name":"_tickCumulatives","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"2574:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[] memory"}},{"id":190,"name":"_secondsPerLiquidityCumulativeX128s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"2605:35:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[] memory"}},{"id":191,"name":"_rewardPerLiquidityCumulativeX64s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":168,"src":"2655:33:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[] memory"}}],"id":192,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2559:140:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_int56_$dyn_memory_ptr_$_t_array$_t_uint160_$dyn_memory_ptr_$_t_array$_t_uint192_$dyn_memory_ptr_$","typeString":"tuple(int56[] memory,uint160[] memory,uint192[] memory)"}},"functionReturnParameters":96,"id":193,"nodeType":"Return","src":"2552:147:0"}]},"functionSelector":"883bdbfd","id":195,"implemented":true,"kind":"function","modifiers":[],"name":"observe","nodeType":"FunctionDefinition","parameters":{"id":86,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85,"mutability":"mutable","name":"secondsAgos","nodeType":"VariableDeclaration","scope":195,"src":"1287:29:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_calldata_ptr","typeString":"uint32[]"},"typeName":{"baseType":{"id":83,"name":"uint32","nodeType":"ElementaryTypeName","src":"1287:6:0","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":84,"nodeType":"ArrayTypeName","src":"1287:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint32_$dyn_storage_ptr","typeString":"uint32[]"}},"visibility":"internal"}],"src":"1276:47:0"},"returnParameters":{"id":96,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89,"mutability":"mutable","name":"tickCumulatives","nodeType":"VariableDeclaration","scope":195,"src":"1388:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_memory_ptr","typeString":"int56[]"},"typeName":{"baseType":{"id":87,"name":"int56","nodeType":"ElementaryTypeName","src":"1388:5:0","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":88,"nodeType":"ArrayTypeName","src":"1388:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int56_$dyn_storage_ptr","typeString":"int56[]"}},"visibility":"internal"},{"constant":false,"id":92,"mutability":"mutable","name":"secondsPerLiquidityCumulativeX128s","nodeType":"VariableDeclaration","scope":195,"src":"1433:51:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_memory_ptr","typeString":"uint160[]"},"typeName":{"baseType":{"id":90,"name":"uint160","nodeType":"ElementaryTypeName","src":"1433:7:0","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":91,"nodeType":"ArrayTypeName","src":"1433:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint160_$dyn_storage_ptr","typeString":"uint160[]"}},"visibility":"internal"},{"constant":false,"id":95,"mutability":"mutable","name":"rewardPerLiquidityCumulativeX64s","nodeType":"VariableDeclaration","scope":195,"src":"1499:49:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_memory_ptr","typeString":"uint192[]"},"typeName":{"baseType":{"id":93,"name":"uint192","nodeType":"ElementaryTypeName","src":"1499:7:0","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"id":94,"nodeType":"ArrayTypeName","src":"1499:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint192_$dyn_storage_ptr","typeString":"uint192[]"}},"visibility":"internal"}],"src":"1373:186:0"},"scope":196,"src":"1260:1447:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":197,"src":"67:2643:0"}],"src":"40:2672:0"},"id":0}},"contracts":{"contracts/elixir-periphery/test/MockObservable.sol":{"MockObservable":{"abi":[{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"},{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"},{"internalType":"uint192[]","name":"rewardPerLiquidityCumulativeX64s","type":"uint192[]"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"}],"name":"observe","outputs":[{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"},{"internalType":"uint192[]","name":"rewardPerLiquidityCumulativeX64s","type":"uint192[]"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506040516109653803806109658339818101604052608081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825186602082028301116401000000008211171561008557600080fd5b82525081516020918201928201910280838360005b838110156100b257818101518382015260200161009a565b50505050905001604052602001805160405193929190846401000000008211156100db57600080fd5b9083019060208201858111156100f057600080fd5b825186602082028301116401000000008211171561010d57600080fd5b82525081516020918201928201910280838360005b8381101561013a578181015183820152602001610122565b505050509050016040526020018051604051939291908464010000000082111561016357600080fd5b90830190602082018581111561017857600080fd5b825186602082028301116401000000008211171561019557600080fd5b82525081516020918201928201910280838360005b838110156101c25781810151838201526020016101aa565b50505050905001604052602001805160405193929190846401000000008211156101eb57600080fd5b90830190602082018581111561020057600080fd5b825186602082028301116401000000008211171561021d57600080fd5b82525081516020918201928201910280838360005b8381101561024a578181015183820152602001610232565b5050505090500160405250505083516002148015610269575082516002145b8015610276575081516002145b6102c7576040805162461bcd60e51b815260206004820152601660248201527f496e76616c6964207465737420636173652073697a6500000000000000000000604482015290519081900360640190fd5b6040518060800160405280856000815181106102df57fe5b602002602001015163ffffffff168152602001846000815181106102ff57fe5b602002602001015160060b81526020018360008151811061031c57fe5b60200260200101516001600160a01b031681526020018260008151811061033f57fe5b6020908102919091018101516001600160c01b03908116909252825160008054928501516040808701516001600160a01b03166b01000000000000000000000002600160581b600160f81b031960069390930b66ffffffffffffff166401000000000266ffffffffffffff60201b1963ffffffff90961663ffffffff199097169690961794909416949094171691909117905560609092015160018054919092166001600160c01b0319909116178155815160808101909252855182918791811061040657fe5b602002602001015163ffffffff1681526020018460018151811061042657fe5b602002602001015160060b81526020018360018151811061044357fe5b60200260200101516001600160a01b031681526020018260008151811061046657fe5b6020908102919091018101516001600160c01b039081169092528251600280549285015160408601516001600160a01b03166b01000000000000000000000002600160581b600160f81b031960069290920b66ffffffffffffff166401000000000266ffffffffffffff60201b1963ffffffff90951663ffffffff199096169590951793909316939093179290921617905560609091015160038054919092166001600160c01b03199091161790555050505061043d806105286000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063883bdbfd14610030575b600080fd5b6100a06004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b50909250905061017e565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156100e85781810151838201526020016100d0565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561012757818101518382015260200161010f565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561016657818101518382015260200161014e565b50505050905001965050505050505060405180910390f35b600080546060918291829163ffffffff90911690869086908161019d57fe5b9050602002013563ffffffff1663ffffffff161480156101e3575060025463ffffffff16858560018181106101ce57fe5b9050602002013563ffffffff1663ffffffff16145b610234576040805162461bcd60e51b815260206004820152601160248201527f496e76616c696420746573742063617365000000000000000000000000000000604482015290519081900360640190fd5b6040805160028082526060820183526000926020830190803683375050600080548351939450640100000000900460060b9284925061026f57fe5b600692830b830b6020918202929092010152600254825164010000000090910490910b90829060019081106102a057fe5b600692830b90920b602092830291909101820152604080516002808252606082018352600093919290918301908036833750506000805483519394506b010000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff169284925061030b57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025482516b010000000000000000000000909104909116908290600190811061035457fe5b73ffffffffffffffffffffffffffffffffffffffff929092166020928302919091018201526040805160028082526060820183526000939192909183019080368337505060015482519293506001600160c01b0316918391506000906103b657fe5b6001600160c01b0392831660209182029290920101526003548251911690829060019081106103e157fe5b6001600160c01b039092166020928302919091019091015291945092509050925092509256fea26469706673582212204070c1ed14024cb223a088b0c288fedd047cf69736ac10111ef05a456851174764736f6c63430007060033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x965 CODESIZE SUB DUP1 PUSH2 0x965 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x85 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 DUP3 ADD SWAP2 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB2 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x9A JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE PUSH1 0x20 ADD DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0xDB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x10D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 DUP3 ADD SWAP2 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x13A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x122 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE PUSH1 0x20 ADD DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x195 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 DUP3 ADD SWAP2 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1C2 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1AA JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE PUSH1 0x20 ADD DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x200 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MSTORE POP DUP2 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD SWAP3 DUP3 ADD SWAP2 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x24A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x232 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE POP POP POP DUP4 MLOAD PUSH1 0x2 EQ DUP1 ISZERO PUSH2 0x269 JUMPI POP DUP3 MLOAD PUSH1 0x2 EQ JUMPDEST DUP1 ISZERO PUSH2 0x276 JUMPI POP DUP2 MLOAD PUSH1 0x2 EQ JUMPDEST PUSH2 0x2C7 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C6964207465737420636173652073697A6500000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x80 ADD PUSH1 0x40 MSTORE DUP1 DUP6 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2DF JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x2FF JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x6 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x31C JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x33F JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP3 MSTORE DUP3 MLOAD PUSH1 0x0 DUP1 SLOAD SWAP3 DUP6 ADD MLOAD PUSH1 0x40 DUP1 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH12 0x10000000000000000000000 MUL PUSH1 0x1 PUSH1 0x58 SHL PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT PUSH1 0x6 SWAP4 SWAP1 SWAP4 SIGNEXTEND PUSH7 0xFFFFFFFFFFFFFF AND PUSH5 0x100000000 MUL PUSH7 0xFFFFFFFFFFFFFF PUSH1 0x20 SHL NOT PUSH4 0xFFFFFFFF SWAP1 SWAP7 AND PUSH4 0xFFFFFFFF NOT SWAP1 SWAP8 AND SWAP7 SWAP1 SWAP7 OR SWAP5 SWAP1 SWAP5 AND SWAP5 SWAP1 SWAP5 OR AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x60 SWAP1 SWAP3 ADD MLOAD PUSH1 0x1 DUP1 SLOAD SWAP2 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB NOT SWAP1 SWAP2 AND OR DUP2 SSTORE DUP2 MLOAD PUSH1 0x80 DUP2 ADD SWAP1 SWAP3 MSTORE DUP6 MLOAD DUP3 SWAP2 DUP8 SWAP2 DUP2 LT PUSH2 0x406 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH4 0xFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x426 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x6 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x443 JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x466 JUMPI INVALID JUMPDEST PUSH1 0x20 SWAP1 DUP2 MUL SWAP2 SWAP1 SWAP2 ADD DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP1 DUP2 AND SWAP1 SWAP3 MSTORE DUP3 MLOAD PUSH1 0x2 DUP1 SLOAD SWAP3 DUP6 ADD MLOAD PUSH1 0x40 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH12 0x10000000000000000000000 MUL PUSH1 0x1 PUSH1 0x58 SHL PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT PUSH1 0x6 SWAP3 SWAP1 SWAP3 SIGNEXTEND PUSH7 0xFFFFFFFFFFFFFF AND PUSH5 0x100000000 MUL PUSH7 0xFFFFFFFFFFFFFF PUSH1 0x20 SHL NOT PUSH4 0xFFFFFFFF SWAP1 SWAP6 AND PUSH4 0xFFFFFFFF NOT SWAP1 SWAP7 AND SWAP6 SWAP1 SWAP6 OR SWAP4 SWAP1 SWAP4 AND SWAP4 SWAP1 SWAP4 OR SWAP3 SWAP1 SWAP3 AND OR SWAP1 SSTORE PUSH1 0x60 SWAP1 SWAP2 ADD MLOAD PUSH1 0x3 DUP1 SLOAD SWAP2 SWAP1 SWAP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE POP POP POP POP PUSH2 0x43D DUP1 PUSH2 0x528 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x883BDBFD EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP5 DUP2 SUB DUP5 MSTORE DUP8 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE8 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD0 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD DUP5 DUP2 SUB DUP4 MSTORE DUP7 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x127 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD DUP5 DUP2 SUB DUP3 MSTORE DUP6 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x166 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x14E JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD SWAP7 POP POP POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH4 0xFFFFFFFF SWAP1 SWAP2 AND SWAP1 DUP7 SWAP1 DUP7 SWAP1 DUP2 PUSH2 0x19D JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x1E3 JUMPI POP PUSH1 0x2 SLOAD PUSH4 0xFFFFFFFF AND DUP6 DUP6 PUSH1 0x1 DUP2 DUP2 LT PUSH2 0x1CE JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND EQ JUMPDEST PUSH2 0x234 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C696420746573742063617365000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x20 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x0 DUP1 SLOAD DUP4 MLOAD SWAP4 SWAP5 POP PUSH5 0x100000000 SWAP1 DIV PUSH1 0x6 SIGNEXTEND SWAP3 DUP5 SWAP3 POP PUSH2 0x26F JUMPI INVALID JUMPDEST PUSH1 0x6 SWAP3 DUP4 SIGNEXTEND DUP4 SIGNEXTEND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x2 SLOAD DUP3 MLOAD PUSH5 0x100000000 SWAP1 SWAP2 DIV SWAP1 SWAP2 SIGNEXTEND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x2A0 JUMPI INVALID JUMPDEST PUSH1 0x6 SWAP3 DUP4 SIGNEXTEND SWAP1 SWAP3 SIGNEXTEND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD DUP3 ADD MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x0 DUP1 SLOAD DUP4 MLOAD SWAP4 SWAP5 POP PUSH12 0x10000000000000000000000 SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 DUP5 SWAP3 POP PUSH2 0x30B JUMPI INVALID JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x2 SLOAD DUP3 MLOAD PUSH12 0x10000000000000000000000 SWAP1 SWAP2 DIV SWAP1 SWAP2 AND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x354 JUMPI INVALID JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD DUP3 ADD MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x1 SLOAD DUP3 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB AND SWAP2 DUP4 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x3B6 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x3 SLOAD DUP3 MLOAD SWAP2 AND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x3E1 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE SWAP2 SWAP5 POP SWAP3 POP SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOCKHASH PUSH17 0xC1ED14024CB223A088B0C288FEDD047CF6 SWAP8 CALLDATASIZE 0xAC LT GT 0x1E CREATE GAS GASLIMIT PUSH9 0x51174764736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"67:2643:0:-:0;;;377:875;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;377:875:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;377:875:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;377:875:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;377:875:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;630:11;:18;652:1;630:23;:71;;;;;674:15;:22;700:1;674:27;630:71;:138;;;;;722:34;:41;767:1;722:46;630:138;608:210;;;;;-1:-1:-1;;;608:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;846:186;;;;;;;;872:11;884:1;872:14;;;;;;;;;;;;;;846:186;;;;;;901:15;917:1;901:18;;;;;;;;;;;;;;846:186;;;;;;934:34;969:1;934:37;;;;;;;;;;;;;;-1:-1:-1;;;;;846:186:0;;;;;986:32;1019:1;986:35;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;846:186:0;;;;;;831:201;;:12;:201;;;;;;;;;;;-1:-1:-1;;;;;831:201:0;;;-1:-1:-1;;;;;;;;831:201:0;;;;;;;;;-1:-1:-1;;;;831:201:0;;;;-1:-1:-1;;831:201:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;831:201:0;;;;;;1058:186;;;;;;;;1084:14;;1058:186;;1084:11;;:14;;;;;;;;;;;;1058:186;;;;;;1113:15;1129:1;1113:18;;;;;;;;;;;;;;1058:186;;;;;;1146:34;1181:1;1146:37;;;;;;;;;;;;;;-1:-1:-1;;;;;1058:186:0;;;;;1198:32;1231:1;1198:35;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1058:186:0;;;;;;1043:201;;:12;:201;;;;;;;;;;-1:-1:-1;;;;;1043:201:0;;;-1:-1:-1;;;;;;;;1043:201:0;;;;;;;;;-1:-1:-1;;;;1043:201:0;;;;-1:-1:-1;;1043:201:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1043:201:0;;;;;;-1:-1:-1;;;;67:2643:0;;;;;;"},"deployedBytecode":{"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c8063883bdbfd14610030575b600080fd5b6100a06004803603602081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b50909250905061017e565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156100e85781810151838201526020016100d0565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561012757818101518382015260200161010f565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561016657818101518382015260200161014e565b50505050905001965050505050505060405180910390f35b600080546060918291829163ffffffff90911690869086908161019d57fe5b9050602002013563ffffffff1663ffffffff161480156101e3575060025463ffffffff16858560018181106101ce57fe5b9050602002013563ffffffff1663ffffffff16145b610234576040805162461bcd60e51b815260206004820152601160248201527f496e76616c696420746573742063617365000000000000000000000000000000604482015290519081900360640190fd5b6040805160028082526060820183526000926020830190803683375050600080548351939450640100000000900460060b9284925061026f57fe5b600692830b830b6020918202929092010152600254825164010000000090910490910b90829060019081106102a057fe5b600692830b90920b602092830291909101820152604080516002808252606082018352600093919290918301908036833750506000805483519394506b010000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff169284925061030b57fe5b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201015260025482516b010000000000000000000000909104909116908290600190811061035457fe5b73ffffffffffffffffffffffffffffffffffffffff929092166020928302919091018201526040805160028082526060820183526000939192909183019080368337505060015482519293506001600160c01b0316918391506000906103b657fe5b6001600160c01b0392831660209182029290920101526003548251911690829060019081106103e157fe5b6001600160c01b039092166020928302919091019091015291945092509050925092509256fea26469706673582212204070c1ed14024cb223a088b0c288fedd047cf69736ac10111ef05a456851174764736f6c63430007060033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x883BDBFD EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x46 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x73 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x17E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP1 PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP5 DUP2 SUB DUP5 MSTORE DUP8 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE8 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xD0 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD DUP5 DUP2 SUB DUP4 MSTORE DUP7 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x127 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x10F JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD DUP5 DUP2 SUB DUP3 MSTORE DUP6 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x166 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x14E JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD SWAP7 POP POP POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x60 SWAP2 DUP3 SWAP2 DUP3 SWAP2 PUSH4 0xFFFFFFFF SWAP1 SWAP2 AND SWAP1 DUP7 SWAP1 DUP7 SWAP1 DUP2 PUSH2 0x19D JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND EQ DUP1 ISZERO PUSH2 0x1E3 JUMPI POP PUSH1 0x2 SLOAD PUSH4 0xFFFFFFFF AND DUP6 DUP6 PUSH1 0x1 DUP2 DUP2 LT PUSH2 0x1CE JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH4 0xFFFFFFFF AND PUSH4 0xFFFFFFFF AND EQ JUMPDEST PUSH2 0x234 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C696420746573742063617365000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP3 PUSH1 0x20 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x0 DUP1 SLOAD DUP4 MLOAD SWAP4 SWAP5 POP PUSH5 0x100000000 SWAP1 DIV PUSH1 0x6 SIGNEXTEND SWAP3 DUP5 SWAP3 POP PUSH2 0x26F JUMPI INVALID JUMPDEST PUSH1 0x6 SWAP3 DUP4 SIGNEXTEND DUP4 SIGNEXTEND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x2 SLOAD DUP3 MLOAD PUSH5 0x100000000 SWAP1 SWAP2 DIV SWAP1 SWAP2 SIGNEXTEND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x2A0 JUMPI INVALID JUMPDEST PUSH1 0x6 SWAP3 DUP4 SIGNEXTEND SWAP1 SWAP3 SIGNEXTEND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD DUP3 ADD MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x0 DUP1 SLOAD DUP4 MLOAD SWAP4 SWAP5 POP PUSH12 0x10000000000000000000000 SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP3 DUP5 SWAP3 POP PUSH2 0x30B JUMPI INVALID JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x2 SLOAD DUP3 MLOAD PUSH12 0x10000000000000000000000 SWAP1 SWAP2 DIV SWAP1 SWAP2 AND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x354 JUMPI INVALID JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP3 SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD DUP3 ADD MSTORE PUSH1 0x40 DUP1 MLOAD PUSH1 0x2 DUP1 DUP3 MSTORE PUSH1 0x60 DUP3 ADD DUP4 MSTORE PUSH1 0x0 SWAP4 SWAP2 SWAP3 SWAP1 SWAP2 DUP4 ADD SWAP1 DUP1 CALLDATASIZE DUP4 CALLDATACOPY POP POP PUSH1 0x1 SLOAD DUP3 MLOAD SWAP3 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB AND SWAP2 DUP4 SWAP2 POP PUSH1 0x0 SWAP1 PUSH2 0x3B6 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP3 DUP4 AND PUSH1 0x20 SWAP2 DUP3 MUL SWAP3 SWAP1 SWAP3 ADD ADD MSTORE PUSH1 0x3 SLOAD DUP3 MLOAD SWAP2 AND SWAP1 DUP3 SWAP1 PUSH1 0x1 SWAP1 DUP2 LT PUSH2 0x3E1 JUMPI INVALID JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE SWAP2 SWAP5 POP SWAP3 POP SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BLOCKHASH PUSH17 0xC1ED14024CB223A088B0C288FEDD047CF6 SWAP8 CALLDATASIZE 0xAC LT GT 0x1E CREATE GAS GASLIMIT PUSH9 0x51174764736F6C6343 STOP SMOD MOD STOP CALLER ","sourceMap":"67:2643:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1260:1447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1260:1447:0;;-1:-1:-1;1260:1447:0;-1:-1:-1;1260:1447:0;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1616:12;:23;;1388:30;;;;;;1616:23;;;;;1598:11;;;;:14;;;;;;;;;;;;;:41;;;:103;;;;-1:-1:-1;1678:12:0;:23;;;1660:11;;1678:23;1660:14;;;;;;;;;;;;;;;:41;;;1598:103;1576:170;;;;;-1:-1:-1;;;1576:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1793:14;;;1805:1;1793:14;;;;;;;;1759:31;;1793:14;;;;;;;;-1:-1:-1;;1840:12:0;:28;;1818:19;;;;-1:-1:-1;1840:28:0;;;;;;1818:19;;-1:-1:-1;1818:19:0;;;;:50;;;;;;:19;;;;;;;;;:50;1901:12;:28;1879:19;;1901:28;;;;;;;;1879:16;;1896:1;;1879:19;;;;;;:50;;;;;;;:19;;;;;;;;;;:50;1997:16;;;2011:1;1997:16;;;;;;;;1942:52;;1997:16;;2011:1;;1997:16;;;;;;;-1:-1:-1;;2065:12:0;:61;;2024:38;;;;-1:-1:-1;2065:61:0;;;;;;2024:38;;-1:-1:-1;2024:38:0;;;;:102;;;;:38;;;;;;;;;:102;2178:12;:61;2137:38;;2178:61;;;;;;;;2137:35;;2173:1;;2137:38;;;;;;:102;;;;;:38;;;;;;;;;;:102;2305:16;;;2319:1;2305:16;;;;;;;;2252:50;;2305:16;;2319:1;;2305:16;;;;;;;-1:-1:-1;;2371:59:0;;2332:36;;;;-1:-1:-1;;;;;;2371:59:0;;2332:36;;-1:-1:-1;2371:12:0;;2332:36;;;;-1:-1:-1;;;;;2332:98:0;;;:36;;;;;;;;;:98;2480:59;;2441:36;;2480:59;;;2441:33;;2480:59;;2441:36;;;;;;-1:-1:-1;;;;;2441:98:0;;;:36;;;;;;;;;;;:98;2574:16;;-1:-1:-1;2605:35:0;-1:-1:-1;2655:33:0;-1:-1:-1;1260:1447:0;;;;;:::o"},"methodIdentifiers":{"observe(uint32[])":"883bdbfd"}},"metadata":"{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"},{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"},{\"internalType\":\"uint192[]\",\"name\":\"rewardPerLiquidityCumulativeX64s\",\"type\":\"uint192[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"},{\"internalType\":\"uint192[]\",\"name\":\"rewardPerLiquidityCumulativeX64s\",\"type\":\"uint192[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/elixir-periphery/test/MockObservable.sol\":\"MockObservable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":800},\"remappings\":[]},\"sources\":{\"contracts/elixir-periphery/test/MockObservable.sol\":{\"keccak256\":\"0xe400b480f67df6a51e81f48c06e908bf082908a7bd3e8dc646ec3d6131704568\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a0e59b69aea4ddb96ca8602324d1ab674c7d0a33bece3016e5cb7a7aca299faf\",\"dweb:/ipfs/QmTr37v1gdLLD5b3Rg3SzZ1qUJHr2gmCxEPtFPhJQL2Usr\"]}},\"version\":1}"}}}}}